aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/aoutx.h26
2 files changed, 20 insertions, 12 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b6e6912..735b876 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index feb2072..f82992e 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -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. */