aboutsummaryrefslogtreecommitdiff
path: root/bfd/aoutx.h
diff options
context:
space:
mode:
authorDavid MacKenzie <djm@cygnus>1994-01-17 23:21:07 +0000
committerDavid MacKenzie <djm@cygnus>1994-01-17 23:21:07 +0000
commit964affdcf84df2bf4b761e0de3358b98fb703348 (patch)
tree6fc6f8c4302a9a20b2ae32a022cdb67500925510 /bfd/aoutx.h
parentfe2750e101480876387020fa5b59996d06ca1b42 (diff)
downloadgdb-964affdcf84df2bf4b761e0de3358b98fb703348.zip
gdb-964affdcf84df2bf4b761e0de3358b98fb703348.tar.gz
gdb-964affdcf84df2bf4b761e0de3358b98fb703348.tar.bz2
* aoutx.h (translate_from_native_sym_flags,
aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like N_SET[ABDT].
Diffstat (limited to 'bfd/aoutx.h')
-rw-r--r--bfd/aoutx.h26
1 files changed, 14 insertions, 12 deletions
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. */