]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- updated.
authorPaweł Sikora <pluto@pld-linux.org>
Mon, 2 Oct 2006 08:18:42 +0000 (08:18 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-pr3290.patch -> 1.2

binutils-pr3290.patch

index f41bfdd35746a5e16968f1579fc99d5fe329c546..b6d218c84778bd38d2e919a256a7fe9386c8dd8b 100644 (file)
@@ -1,41 +1,16 @@
-"gcc -g -feliminate-dwarf2-dups" may generate symbols relative to debug
-section. When "ld -s" removes debug section, it changes those symbols
-to absolute. The resulting shared library may not be usable. strip is
-even worse. When .debug_info section is removed, section index of
-debug symbol is totally wrong.
-
-This patch will hide debug symbols.
-
 2006-09-29  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/3290
-       * elfcode.h (elf_slurp_symbol_table): Mark a debug symbol if it
-       is in a debug section.
+       * elflink.c (elf_link_add_object_symbols): Hide definitions in
+       debug sections.
 
-       * elflink.c (elf_link_add_object_symbols): Hide debug symbols.
-
---- bfd/elfcode.h.debug        2006-09-23 16:37:33.000000000 -0700
-+++ bfd/elfcode.h      2006-09-29 17:15:14.000000000 -0700
-@@ -1184,6 +1184,12 @@ elf_slurp_symbol_table (bfd *abfd, asymb
-                    although it is wrong.  FIXME.  */
-                 sym->symbol.section = bfd_abs_section_ptr;
-               }
-+            else if ((sym->symbol.section->flags & SEC_DEBUGGING))
-+              {
-+                /* If this symbol is in a debug section, it must be a
-+                   debug symbol.  */
-+                sym->symbol.flags |= BSF_DEBUGGING;
-+              }
-           }
-         else if (isym->st_shndx == SHN_ABS)
-           {
 --- bfd/elflink.c.debug        2006-09-29 09:00:21.000000000 -0700
-+++ bfd/elflink.c      2006-09-29 17:13:25.000000000 -0700
++++ bfd/elflink.c      2006-09-30 18:30:40.000000000 -0700
 @@ -4137,6 +4137,13 @@ elf_link_add_object_symbols (bfd *abfd, 
                dynsym = TRUE;
            }
  
-+        if ((sec->flags & SEC_DEBUGGING))
++        if (definition && (sec->flags & SEC_DEBUGGING))
 +          {
 +            /* We don't want to make debug symbol dynamic.  */
 +            (*bed->elf_backend_hide_symbol) (info, h, TRUE);
This page took 0.717038 seconds and 4 git commands to generate.