diff options
author | Iain D Sandoe <iain@codesourcery.com> | 2012-01-12 14:03:12 +0000 |
---|---|---|
committer | Iain D Sandoe <iain@codesourcery.com> | 2012-01-12 14:03:12 +0000 |
commit | 2ed2809fd61ed78a2cb5a89857de7163df183808 (patch) | |
tree | ba54adbb08cee7aa6736dcced72f3199dfc89d5f /include | |
parent | 2af8babd9325ed20b1719b7fbb36bdf86ad9af3f (diff) | |
download | newlib-2ed2809fd61ed78a2cb5a89857de7163df183808.zip newlib-2ed2809fd61ed78a2cb5a89857de7163df183808.tar.gz newlib-2ed2809fd61ed78a2cb5a89857de7163df183808.tar.bz2 |
add indirect_symbol to mach-o port.
bfd:
* mach-o.c (bfd_mach_o_count_indirect_symbols): New.
(bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
* mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
file. (bfd_mach_o_section): Add indirect_syms field.
gas:
* config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
lazy when the symbol is private_extern.
(obj_mach_o_indirect_sym): New type.
(obj_mach_o_indirect_symbol): New.
(mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
(obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
(obj_macho_frob_label): Likewise. Adjust external and comm
symbol tests.
(obj_mach_o_set_indirect_symbols): New.
(obj_mach_o_frob_file_after_relocs): New.
*config/obj-macho.h (obj_frob_file_after_relocs): Define.
(obj_mach_o_frob_file_after_relocs): Declare.
include/mach-o:
* loader.h (BFD_MACH_O_INDIRECT_SYM_LOCAL): New.
(BFD_MACH_O_INDIRECT_SYM_ABS): New
gas/testsuite:
* gas/mach-o/dysymtab-2.d: New.
* gas/mach-o/err-syms-4.s: New.
* gas/mach-o/err-syms-5.s: New.
* gas/mach-o/err-syms-6.s: New.
* gas/mach-o/symbols-6-64.d: New.
* gas/mach-o/symbols-6-64.s: New.
* gas/mach-o/symbols-6.d: New.
* gas/mach-o/symbols-6.s: New.
Diffstat (limited to 'include')
-rw-r--r-- | include/mach-o/ChangeLog | 5 | ||||
-rw-r--r-- | include/mach-o/loader.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/mach-o/ChangeLog b/include/mach-o/ChangeLog index 2cd71c9..ab3cc68 100644 --- a/include/mach-o/ChangeLog +++ b/include/mach-o/ChangeLog @@ -1,3 +1,8 @@ +2012-01-12 Iain Sandoe <idsandoe@googlemail.com> + + * loader.h (BFD_MACH_O_INDIRECT_SYM_LOCAL): New. + (BFD_MACH_O_INDIRECT_SYM_ABS): New + 2012-01-04 Tristan Gingold <gingold@adacore.com> * external.h (mach_o_fvmlib_command_external): New structure. diff --git a/include/mach-o/loader.h b/include/mach-o/loader.h index 824f793..1b9b15e 100644 --- a/include/mach-o/loader.h +++ b/include/mach-o/loader.h @@ -320,6 +320,9 @@ bfd_mach_o_section_attribute; #define BFD_MACH_O_N_NO_DEAD_STRIP 0x20 #define BFD_MACH_O_N_WEAK_REF 0x40 #define BFD_MACH_O_N_WEAK_DEF 0x80 + +#define BFD_MACH_O_INDIRECT_SYM_LOCAL 0x80000000 +#define BFD_MACH_O_INDIRECT_SYM_ABS 0x40000000 /* Thread constants. */ |