* aoutx.h (translate_from_native_sym_flags,

aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
	N_SET[ABDT].
This commit is contained in:
David MacKenzie 1994-01-17 23:21:07 +00:00
parent fe2750e101
commit 964affdcf8
2 changed files with 20 additions and 12 deletions

View File

@ -1,3 +1,9 @@
Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com)
* aoutx.h (translate_from_native_sym_flags,
aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
N_SET[ABDT].
Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set

View File

@ -1081,10 +1081,10 @@ DEFUN (translate_from_native_sym_flags, (sym_pointer, cache_ptr, abfd),
cache_ptr->symbol.section = 0;
switch (cache_ptr->type & N_TYPE)
{
case N_SETA:
case N_SETT:
case N_SETD:
case N_SETB:
case N_SETA: case N_SETA | N_EXT:
case N_SETT: case N_SETT | N_EXT:
case N_SETD: case N_SETD | N_EXT:
case N_SETB: case N_SETB | N_EXT:
{
char *copy = bfd_alloc (abfd, strlen (cache_ptr->symbol.name) + 1);
asection *section;
@ -1102,19 +1102,19 @@ DEFUN (translate_from_native_sym_flags, (sym_pointer, cache_ptr, abfd),
/* Build a relocation entry for the constructor */
switch ((cache_ptr->type & N_TYPE))
{
case N_SETA:
case N_SETA: case N_SETA | N_EXT:
into_section = &bfd_abs_section;
cache_ptr->type = N_ABS;
break;
case N_SETT:
case N_SETT: case N_SETT | N_EXT:
into_section = (asection *) obj_textsec (abfd);
cache_ptr->type = N_TEXT;
break;
case N_SETD:
case N_SETD: case N_SETD | N_EXT:
into_section = (asection *) obj_datasec (abfd);
cache_ptr->type = N_DATA;
break;
case N_SETB:
case N_SETB: case N_SETB | N_EXT:
into_section = (asection *) obj_bsssec (abfd);
cache_ptr->type = N_BSS;
break;
@ -3085,21 +3085,21 @@ aout_link_add_symbols (abfd, info)
case N_COMM | N_EXT:
section = &bfd_com_section;
break;
case N_SETA:
case N_SETA: case N_SETA | N_EXT:
section = &bfd_abs_section;
flags |= BSF_CONSTRUCTOR;
break;
case N_SETT:
case N_SETT: case N_SETT | N_EXT:
section = obj_textsec (abfd);
flags |= BSF_CONSTRUCTOR;
value -= bfd_get_section_vma (abfd, section);
break;
case N_SETD:
case N_SETD: case N_SETD | N_EXT:
section = obj_datasec (abfd);
flags |= BSF_CONSTRUCTOR;
value -= bfd_get_section_vma (abfd, section);
break;
case N_SETB:
case N_SETB: case N_SETB | N_EXT:
section = obj_bsssec (abfd);
flags |= BSF_CONSTRUCTOR;
value -= bfd_get_section_vma (abfd, section);
@ -3218,6 +3218,8 @@ NAME(aout,final_link) (abfd, info, callback)
exec_hdr (abfd)->a_drsize = drsize;
}
exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
/* Adjust the section sizes and vmas according to the magic number.
This sets a_text, a_data and a_bss in the exec_hdr and sets the
filepos for each section. */