Implement ELF linker -z global option
ld/ * ld.texinfo: Document "-z global". * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Support "-z global". (gld${EMULATION_NAME}_list_options): Likewise. ld/testsuite/ * ld-elf/global1.d: New file.
This commit is contained in:
parent
ace2195744
commit
b039ef0457
5 changed files with 30 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2012-11-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld.texinfo: Document "-z global".
|
||||
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Support
|
||||
"-z global".
|
||||
(gld${EMULATION_NAME}_list_options): Likewise.
|
||||
|
||||
2012-11-15 Maxim Kuvyrkov <maxim@codesourcery.com>
|
||||
|
||||
Port lib32 arrangement from Debian.
|
||||
|
|
|
@ -2300,6 +2300,8 @@ fragment <<EOF
|
|||
EOF
|
||||
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
||||
fragment <<EOF
|
||||
else if (strcmp (optarg, "global") == 0)
|
||||
link_info.flags_1 |= (bfd_vma) DF_1_GLOBAL;
|
||||
else if (strcmp (optarg, "initfirst") == 0)
|
||||
link_info.flags_1 |= (bfd_vma) DF_1_INITFIRST;
|
||||
else if (strcmp (optarg, "interpose") == 0)
|
||||
|
@ -2419,6 +2421,9 @@ EOF
|
|||
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
|
||||
fragment <<EOF
|
||||
fprintf (file, _("\
|
||||
-z global Make symbols in DSO available for subsequently\n\
|
||||
loaded objects\n"));
|
||||
fprintf (file, _("\
|
||||
-z initfirst Mark DSO to be initialized first at runtime\n"));
|
||||
fprintf (file, _("\
|
||||
-z interpose Mark object to interpose all DSOs but executable\n"));
|
||||
|
|
|
@ -1024,6 +1024,11 @@ shared libraries are still allowed.
|
|||
@item execstack
|
||||
Marks the object as requiring executable stack.
|
||||
|
||||
@item global
|
||||
This option is only meaningful when building a shared object. It makes
|
||||
the symbols defined by this shared object available for symbol resolution
|
||||
of subsequently loaded libraries.
|
||||
|
||||
@item initfirst
|
||||
This option is only meaningful when building a shared object.
|
||||
It marks the object so that its runtime initialization will occur
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2012-11-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-elf/global1.d: New file.
|
||||
|
||||
2012-11-07 James Murray <jsm@jsm-net.demon.co.uk>
|
||||
|
||||
* ld-m68hc11/movw.d: New test for 16bit relocate.
|
||||
|
|
8
ld/testsuite/ld-elf/global1.d
Normal file
8
ld/testsuite/ld-elf/global1.d
Normal file
|
@ -0,0 +1,8 @@
|
|||
#source: start.s
|
||||
#ld: -shared -z global
|
||||
#readelf: -d
|
||||
#target: *-*-linux* *-*-gnu*
|
||||
|
||||
#...
|
||||
0x0*6ffffffb \(FLAGS_1\) *Flags: GLOBAL
|
||||
#pass
|
Loading…
Reference in a new issue