* aoutx.h (aout_link_check_ar_symbols): When changing a symbol to

common, set the alignment.
	(aout_link_add_symbols): Restrict the alignment of a common symbol
	to the alignment power given by the architecture.
	* elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align.  Do
	initialize copy_offset.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
	field rather than align field.  Get alignment using bfd_log2
	rather than switch.
	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
	not align.
	* elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
This commit is contained in:
Ian Lance Taylor
1994-07-22 18:53:23 +00:00
parent 36c6e8c37f
commit 7c6da9cade
5 changed files with 55 additions and 100 deletions

View File

@ -197,7 +197,7 @@ _bfd_elf_make_section_from_shdr (abfd, hdr, name)
flags |= SEC_READONLY;
if ((hdr->sh_flags & SHF_EXECINSTR) != 0)
flags |= SEC_CODE;
else if ((flags & SEC_ALLOC) != 0)
else if ((flags & SEC_LOAD) != 0)
flags |= SEC_DATA;
/* The debugging sections appear to be recognized only by name, not
@ -331,10 +331,10 @@ _bfd_elf_link_hash_newfunc (entry, table, string)
/* Set local fields. */
ret->indx = -1;
ret->size = 0;
ret->align = 0;
ret->dynindx = -1;
ret->dynstr_index = 0;
ret->weakdef = NULL;
ret->copy_offset = 0;
ret->type = STT_NOTYPE;
ret->elf_link_hash_flags = 0;
}
@ -383,3 +383,15 @@ _bfd_elf_link_hash_table_create (abfd)
return &ret->root;
}
/* This is a hook for the ELF emulation code in the generic linker to
tell the backend linker what file name to use for the DT_NEEDED
entry for a dynamic object. */
void
bfd_elf_set_dt_needed_name (abfd, name)
bfd *abfd;
const char *name;
{
elf_dt_needed_name (abfd) = name;
}