aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-03-06 22:38:43 +0000
committerNick Clifton <nickc@redhat.com>2000-03-06 22:38:43 +0000
commit108213226d964e017d68138a54be936a649391c6 (patch)
tree08b1e8372cd30e23ba4ae5e0c9365ee1541e2f3f /bfd
parentcdffbaa2d25a36f056578b4ab7d46d29c1419c6b (diff)
downloadgdb-108213226d964e017d68138a54be936a649391c6.zip
gdb-108213226d964e017d68138a54be936a649391c6.tar.gz
gdb-108213226d964e017d68138a54be936a649391c6.tar.bz2
Further LINK6 bug fix.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/peicode.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/bfd/peicode.h b/bfd/peicode.h
index 684d3d7..7238c78 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -592,13 +592,12 @@ pe_ILF_make_a_symbol (pe_ILF_vars * vars,
/* Copy the symbol's name into the string table. */
sprintf (vars->string_ptr, "%s%s", prefix, symbol_name);
+ if (section == NULL)
+ section = (asection_ptr) & bfd_und_section;
+
/* Initialise the external symbol. */
bfd_h_put_32 (vars->abfd, vars->string_ptr - vars->string_table, (bfd_byte *) esym->e.e.e_offset);
- if (section)
- bfd_h_put_16 (vars->abfd, section->target_index, (bfd_byte *) esym->e_scnum);
- else
- bfd_h_put_16 (vars->abfd, 0, (bfd_byte *) esym->e_scnum);
-
+ bfd_h_put_16 (vars->abfd, section->target_index, (bfd_byte *) esym->e_scnum);
esym->e_sclass[0] = sclass;
/* The following initialisations are unnecessary - the memory is
@@ -612,8 +611,7 @@ pe_ILF_make_a_symbol (pe_ILF_vars * vars,
/* Initialise the internal symbol structure. */
ent->u.syment.n_sclass = sclass;
- if (section)
- ent->u.syment.n_scnum = section->target_index;
+ ent->u.syment.n_scnum = section->target_index;
ent->u.syment._n._n_n._n_offset = (long) sym;
#if 0 /* See comment above. */