aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-01-24 23:56:56 +0000
committerIan Lance Taylor <ian@airs.com>1994-01-24 23:56:56 +0000
commita20bdb43f00dc9c85ce502b129acace410dbc22d (patch)
treeeb4a03b184f49681ddaf7b6f529568e015ea0da6 /bfd
parentd4fb8fced1fb770654c7ed860cc194eddab9f83e (diff)
downloadgdb-a20bdb43f00dc9c85ce502b129acace410dbc22d.zip
gdb-a20bdb43f00dc9c85ce502b129acace410dbc22d.tar.gz
gdb-a20bdb43f00dc9c85ce502b129acace410dbc22d.tar.bz2
* linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
for a created common section. (_bfd_generic_link_add_one_symbol): Likewise.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/linker.c11
2 files changed, 17 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 63c3a9f..a8a3f27 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -9,6 +9,14 @@ Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com)
Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+ * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
+ for a created common section.
+ (_bfd_generic_link_add_one_symbol): Likewise.
+
+ * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
+ get the index of a common section, rather than always using
+ SHN_COMMON (MIPS has multiple common sections).
+
* elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
* bfd/aoutx.h (aout_link_input_section_std,
diff --git a/bfd/linker.c b/bfd/linker.c
index e5f614d..2f3ac82 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -975,6 +975,7 @@ generic_link_check_archive_element (abfd, info, pneeded)
else
h->u.c.section = bfd_make_section_old_way (symbfd,
p->section->name);
+ h->u.c.section->flags = SEC_ALLOC;
}
else
{
@@ -1287,9 +1288,15 @@ _bfd_generic_link_add_one_symbol (info, abfd, name, flags, section, value,
h->type = bfd_link_hash_common;
h->u.c.size = value;
if (section == &bfd_com_section)
- h->u.c.section = bfd_make_section_old_way (abfd, "COMMON");
+ {
+ h->u.c.section = bfd_make_section_old_way (abfd, "COMMON");
+ h->u.c.section->flags = SEC_ALLOC;
+ }
else if (section->owner != abfd)
- h->u.c.section = bfd_make_section_old_way (abfd, section->name);
+ {
+ h->u.c.section = bfd_make_section_old_way (abfd, section->name);
+ h->u.c.section->flags = SEC_ALLOC;
+ }
else
h->u.c.section = section;
break;