From: Nick Clifton Date: Mon, 6 Mar 2000 22:38:43 +0000 (+0000) Subject: Further LINK6 bug fix. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4d8c5c5f5934bdb8767b394db436f681db799000;p=pf3gnuchains%2Fpf3gnuchains3x.git Further LINK6 bug fix. --- diff --git a/bfd/peicode.h b/bfd/peicode.h index 684d3d7aa9..7238c7802e 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. */