OSDN Git Service

The .note.ABI-tag section exists to indicate to other projects (like gdb
authorDavid McCullough <davidm@snapgear.com>
Thu, 16 Dec 2010 01:37:41 +0000 (01:37 +0000)
committerDavid McCullough <davidm@snapgear.com>
Thu, 16 Dec 2010 01:37:41 +0000 (01:37 +0000)
or library loaders) information about the target OS.  It doesn't actually
contain anything that is used at runtime.  So while the current linker
script gathers this into the .data section, the final FLAT doesn't include
anything from it.  But tools expect to find a dedicated section in ELFs
which the current section merge prevents.^M

So give .note.ABI-tag its own output section so gdb can locate and use it.
This shouldn't change the FLAT files produced in any way.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
elf2flt.ld.in

index 6871ae9..c7e01a6 100644 (file)
@@ -81,7 +81,6 @@ R_RODAT               *(.gnu.linkonce.r*)
                *(__libc_atexit)
                *(__libc_subinit)
                *(__libc_subfreeres)
-               *(.note.ABI-tag)
 
                /* microblaze-specific read-only small data area
                   and associated locating symbols */
@@ -137,6 +136,7 @@ TOR:                @SYMBOL_PREFIX@__DTOR_END__ = .;
                PROVIDE (@SYMBOL_PREFIX@__fini_array_end = .);
        } > flatmem :data
 
+       .note.ABI-tag : { *(.note.ABI-tag) } > flatmem
        .eh_frame_hdr : { *(.eh_frame_hdr) } > flatmem
        .eh_frame : { KEEP(*(.eh_frame)) } > flatmem
        .gcc_except_table : {