* xcoff.h (XCOFF_EXPALL, XCOFF_EXPFULL): New flags.
(xcoff_loader_info): Add auto_export_flags.
bfd/
* bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
bfd_boolean export_defineds parameter with an unsigned int
auto_export_flags parameter.
* bfd-in2.h: Regenerate.
* xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
split out from xcoff_build_ldsyms.
(xcoff_covered_by_expall_p): New function.
(xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
but with extra code to handle -bexpfull and -bexpall.
(xcoff_mark_auto_exports): New function.
(xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
a function should be automatically exported.
(bfd_xcoff_size_dynamic_sections): Replace the export_defineds
parameter with an auto_export_flags parameter. Update ldinfo
accordingly. Use xcoff_mark_auto_exports to mark all automatically-
exported symbols.
ld/
* emultempl/aix.em (auto_export_flags): New variable.
(explicit_auto_export_flags): Likewise.
(OPTION_EXPALL, OPTION_EXPFULL): New enum values.
(OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
(gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
-bnoexpall and -bnoexpfull.
(gld${EMULATION_NAME}_handle_option): Handle them.
(gld${EMULATION_NAME}_before_allocation): Update the call to
bfd_size_dynamic_sections.
ld/testsuite/
* ld-powerpc/aix-export-1-all.dd, ld-powerpc/aix-export-1-full.dd,
ld-powerpc/aix-export-1a.s, ld-powerpc/aix-export-1b.s: New tests.
* ld-powerpc/aix52.exp: Run them.
|
||
|---|---|---|
| .. | ||
| aout | ||
| coff | ||
| elf | ||
| gdb | ||
| nlm | ||
| opcode | ||
| alloca-conf.h | ||
| ansidecl.h | ||
| bfdlink.h | ||
| binary-io.h | ||
| bout.h | ||
| ChangeLog | ||
| ChangeLog-9103 | ||
| COPYING | ||
| COPYING3 | ||
| demangle.h | ||
| dis-asm.h | ||
| dyn-string.h | ||
| fibheap.h | ||
| filenames.h | ||
| floatformat.h | ||
| fnmatch.h | ||
| fopen-bin.h | ||
| fopen-same.h | ||
| fopen-vms.h | ||
| gdbm.h | ||
| getopt.h | ||
| hashtab.h | ||
| hp-symtab.h | ||
| ieee.h | ||
| libiberty.h | ||
| MAINTAINERS | ||
| md5.h | ||
| oasys.h | ||
| objalloc.h | ||
| obstack.h | ||
| os9k.h | ||
| partition.h | ||
| plugin-api.h | ||
| progress.h | ||
| safe-ctype.h | ||
| sha1.h | ||
| sort.h | ||
| splay-tree.h | ||
| symcat.h | ||
| xregex2.h | ||
| xregex.h | ||
| xtensa-config.h | ||
| xtensa-isa-internal.h | ||
| xtensa-isa.h | ||