Browse Source

2002-08-12 H.J. Lu <hjl@gnu.org>

* elflink.h (elf_add_default_symbol): Preserve section across
	elf_merge_symbol.
drow-cplus-branch
H.J. Lu 24 years ago
parent
commit
871da94f03
  1. 5
      bfd/ChangeLog
  2. 13
      bfd/elflink.h

5
bfd/ChangeLog

@ -1,3 +1,8 @@
2002-08-12 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_add_default_symbol): Preserve section across
elf_merge_symbol.
2002-08-09 Graeme Peterson <gp@qnx.com>
* Makefile.am: Add entries for elf32-ppcqnx.c, and add

13
bfd/elflink.h

@ -899,19 +899,19 @@ elf_merge_symbol (abfd, info, name, sym, psec, pvalue, sym_hash,
/* This function is called to create an indirect symbol from the
default for the symbol with the default version if needed. The
symbol is described by H, NAME, SYM, SEC, VALUE, and OVERRIDE. We
symbol is described by H, NAME, SYM, PSEC, VALUE, and OVERRIDE. We
set DYNSYM if the new indirect symbol is dynamic. DT_NEEDED
indicates if it comes from a DT_NEEDED entry of a shared object. */
static boolean
elf_add_default_symbol (abfd, info, h, name, sym, sec, value,
elf_add_default_symbol (abfd, info, h, name, sym, psec, value,
dynsym, override, dt_needed)
bfd *abfd;
struct bfd_link_info *info;
struct elf_link_hash_entry *h;
const char *name;
Elf_Internal_Sym *sym;
asection **sec;
asection **psec;
bfd_vma *value;
boolean *dynsym;
boolean override;
@ -926,6 +926,7 @@ elf_add_default_symbol (abfd, info, h, name, sym, sec, value,
boolean dynamic;
char *p;
size_t len, shortlen;
asection *sec;
/* If this symbol has a version, and it is the default version, we
create an indirect symbol from the default name to the fully
@ -970,7 +971,8 @@ elf_add_default_symbol (abfd, info, h, name, sym, sec, value,
actually going to define an indirect symbol. */
type_change_ok = false;
size_change_ok = false;
if (! elf_merge_symbol (abfd, info, shortname, sym, sec, value,
sec = *psec;
if (! elf_merge_symbol (abfd, info, shortname, sym, &sec, value,
&hi, &override, &type_change_ok,
&size_change_ok, dt_needed))
return false;
@ -1077,7 +1079,8 @@ elf_add_default_symbol (abfd, info, h, name, sym, sec, value,
/* Once again, merge with any existing symbol. */
type_change_ok = false;
size_change_ok = false;
if (! elf_merge_symbol (abfd, info, shortname, sym, sec, value,
sec = *psec;
if (! elf_merge_symbol (abfd, info, shortname, sym, &sec, value,
&hi, &override, &type_change_ok,
&size_change_ok, dt_needed))
return false;

Loading…
Cancel
Save