Apply elf32.em r1.8 to the corresponding sections of armelf.em and

aarch64elf.em. Original commit message:

Recursively add DT_NEEDED entries from shared libraries if symbols are
used indirectly. This is more in line with the old GNU ld behavior, but
not exactly the desired semantic.

Patch from Martin Husemann.
This commit is contained in:
joerg 2015-02-18 15:05:43 +00:00
parent 0b9601e293
commit 3dea93ea59
2 changed files with 2 additions and 0 deletions

View File

@ -38,6 +38,7 @@ gld${EMULATION_NAME}_before_parse (void)
ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown); ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown);
#endif /* not TARGET_ */ #endif /* not TARGET_ */
input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
input_flags.add_DT_NEEDED_for_dynamic = TRUE;
config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
} }

View File

@ -51,6 +51,7 @@ gld${EMULATION_NAME}_before_parse (void)
ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown); ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown);
#endif /* not TARGET_ */ #endif /* not TARGET_ */
input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
input_flags.add_DT_NEEDED_for_dynamic = TRUE;
config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
} }