From 964affdcf84df2bf4b761e0de3358b98fb703348 Mon Sep 17 00:00:00 2001 From: David MacKenzie Date: Mon, 17 Jan 1994 23:21:07 +0000 Subject: [PATCH] * aoutx.h (translate_from_native_sym_flags, aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like N_SET[ABDT]. --- bfd/ChangeLog | 6 ++++++ bfd/aoutx.h | 26 ++++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b6e69121697..735b87657b7 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 feb2072541e..f82992ed7e7 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. */ -- 2.30.2