Check audit entry only on ELF input.

2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11946
	* emultempl/elf32.em (_before_allocation): Check audit entry
	only on ELF input.
This commit is contained in:
H.J. Lu 2010-08-25 16:57:32 +00:00
parent 3c11dd799b
commit 8dd881b6e3
2 changed files with 31 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2010-08-25 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11946
* emultempl/elf32.em (_before_allocation): Check audit entry
only on ELF input.
2010-08-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11937

View File

@ -1495,33 +1495,34 @@ gld${EMULATION_NAME}_before_allocation (void)
rpath = (const char *) getenv ("LD_RUN_PATH");
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
{
const char *audit_libs = elf_dt_audit (abfd);
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
const char *audit_libs = elf_dt_audit (abfd);
/* If the input bfd contains an audit entry, we need to add it as
a dep audit entry. */
if (audit_libs && *audit_libs != '\0')
{
char *cp = xstrdup (audit_libs);
do
{
int more = 0;
char *cp2 = strchr (cp, config.rpath_separator);
/* If the input bfd contains an audit entry, we need to add it as
a dep audit entry. */
if (audit_libs && *audit_libs != '\0')
{
char *cp = xstrdup (audit_libs);
do
{
int more = 0;
char *cp2 = strchr (cp, config.rpath_separator);
if (cp2)
{
*cp2 = '\0';
more = 1;
}
if (cp2)
{
*cp2 = '\0';
more = 1;
}
if (cp != NULL && *cp != '\0')
gld${EMULATION_NAME}_append_to_separated_string (&depaudit, cp);
if (cp != NULL && *cp != '\0')
gld${EMULATION_NAME}_append_to_separated_string (&depaudit, cp);
cp = more ? ++cp2 : NULL;
}
while (cp != NULL);
}
}
cp = more ? ++cp2 : NULL;
}
while (cp != NULL);
}
}
if (! (bfd_elf_size_dynamic_sections
(link_info.output_bfd, command_line.soname, rpath,