]> git.pld-linux.org Git - packages/binutils.git/blobdiff - binutils-absolute-gnu_debuglink-path.patch
- added tooldir patch, specify tooldir at configure time instead of passing to make
[packages/binutils.git] / binutils-absolute-gnu_debuglink-path.patch
index d4c147d16bf2c9e1783504a3fe5b244e9f81e3d2..f4d314473193be71aa90ffc0e82b1068c5da4cde 100644 (file)
@@ -1,6 +1,6 @@
---- binutils-2.17.50.0.3/bfd/opncls.c.orig     2006-07-15 20:23:49.000000000 +0200
-+++ binutils-2.17.50.0.3/bfd/opncls.c  2006-09-02 15:14:01.443277250 +0200
-@@ -1215,6 +1215,10 @@
+--- binutils-2.18.50.0.2/bfd/opncls.c.orig     2007-10-03 17:52:57.000000000 +0200
++++ binutils-2.18.50.0.2/bfd/opncls.c  2007-10-22 22:30:03.233754376 +0200
+@@ -1241,6 +1241,10 @@
        return NULL;
      }
  
@@ -8,30 +8,43 @@
 +  if (separate_debug_file_exists (basename, crc32))
 +    return basename;
 +
-   dir = strdup (abfd->filename);
-   if (dir == NULL)
-     {
-@@ -1353,9 +1357,6 @@
+   for (dirlen = strlen (abfd->filename); dirlen > 0; dirlen--)
+     if (IS_DIR_SEPARATOR (abfd->filename[dirlen - 1]))
+       break;
+@@ -1345,6 +1349,15 @@
+   return find_separate_debug_file (abfd, dir);
+ }
++static char const*
++relaxed_filename (char const* filename)
++{
++  char const* relaxed = strstr (filename, "/usr/lib/debug/");
++  if ( relaxed != NULL )
++    return relaxed;
++  return filename;
++}
++
+ /*
+ FUNCTION
+       bfd_create_gnu_debuglink_section
+@@ -1376,8 +1389,7 @@
        return NULL;
      }
  
 -  /* Strip off any path components in filename.  */
 -  filename = lbasename (filename);
--
++  filename = relaxed_filename (filename);
    sect = bfd_get_section_by_name (abfd, GNU_DEBUGLINK);
    if (sect)
-     {
-@@ -1439,9 +1440,10 @@
+@@ -1463,9 +1475,7 @@
      crc32 = bfd_calc_gnu_debuglink_crc32 (crc32, buffer, count);
    fclose (handle);
  
 -  /* Strip off any path components in filename,
 -     now that we no longer need them.  */
 -  filename = lbasename (filename);
-+  /* PLD: for files installed in rpm's build root strip the install prefix */
-+  char const* relaxed_filename = strstr( filename, "/usr/lib/debug/" );
-+  if ( relaxed_filename != NULL )
-+    filename = relaxed_filename;
++  filename = relaxed_filename (filename);
  
-   debuglink_size = strlen (filename) + 1;
-   debuglink_size += 3;
+   filelen = strlen (filename);
+   debuglink_size = filelen + 1;
This page took 0.064684 seconds and 4 git commands to generate.