mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-31 11:30:56 +08:00
include/coff/
* 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.
This commit is contained in:
parent
443e66934c
commit
c7cf32ee27
@ -1,3 +1,8 @@
|
|||||||
|
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
|
||||||
|
|
||||||
|
* xcoff.h (XCOFF_EXPALL, XCOFF_EXPFULL): New flags.
|
||||||
|
(xcoff_loader_info): Add auto_export_flags.
|
||||||
|
|
||||||
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
|
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
|
||||||
|
|
||||||
* internal.h (C_AIX_WEAKEXT): New macro.
|
* internal.h (C_AIX_WEAKEXT): New macro.
|
||||||
|
@ -394,6 +394,9 @@ struct xcoff_link_hash_table
|
|||||||
asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS];
|
asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* These flags indicate which of -bexpall and -bexpfull are in effect. */
|
||||||
|
#define XCOFF_EXPALL 1
|
||||||
|
#define XCOFF_EXPFULL 2
|
||||||
|
|
||||||
/* This structure is used to pass information through
|
/* This structure is used to pass information through
|
||||||
xcoff_link_hash_traverse. */
|
xcoff_link_hash_traverse. */
|
||||||
@ -409,8 +412,8 @@ struct xcoff_loader_info
|
|||||||
/* Link information structure. */
|
/* Link information structure. */
|
||||||
struct bfd_link_info *info;
|
struct bfd_link_info *info;
|
||||||
|
|
||||||
/* Whether all defined symbols should be exported. */
|
/* A mask of XCOFF_EXPALL and XCOFF_EXPFULL flags. */
|
||||||
bfd_boolean export_defineds;
|
unsigned int auto_export_flags;
|
||||||
|
|
||||||
/* Number of ldsym structures. */
|
/* Number of ldsym structures. */
|
||||||
size_t ldsym_count;
|
size_t ldsym_count;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user