1,6 → 1,5 |
/* Routines to help build PEI-format DLLs (Win32 etc) |
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. |
Copyright (C) 1998-2015 Free Software Foundation, Inc. |
Written by DJ Delorie <dj@cygnus.com> |
|
This file is part of the GNU Binutils. |
236,6 → 235,7 |
{ STRING_COMMA_LEN ("_impure_ptr") }, |
{ STRING_COMMA_LEN ("_fmode") }, |
{ STRING_COMMA_LEN ("environ") }, |
{ STRING_COMMA_LEN ("__dso_handle") }, |
{ NULL, 0 } |
}; |
|
655,7 → 655,7 |
|
/* First, run around to all the objects looking for the .drectve |
sections, and push those into the def file too. */ |
for (b = info->input_bfds; b; b = b->link_next) |
for (b = info->input_bfds; b; b = b->link.next) |
{ |
s = bfd_get_section_by_name (b, ".drectve"); |
if (s) |
693,7 → 693,7 |
|
/* If we are building an executable and there is nothing |
to export, we do not build an export table at all. */ |
if (info->executable && pe_def_file->num_exports == 0 |
if (bfd_link_executable (info) && pe_def_file->num_exports == 0 |
&& (!pe_dll_export_everything || pe_dll_exclude_all_symbols)) |
return; |
|
701,7 → 701,7 |
if ((pe_dll_export_everything || pe_def_file->num_exports == 0) |
&& !pe_dll_exclude_all_symbols) |
{ |
for (b = info->input_bfds; b; b = b->link_next) |
for (b = info->input_bfds; b; b = b->link.next) |
{ |
asymbol **symbols; |
int nsyms; |
1268,7 → 1268,7 |
bfd *b; |
asection *s; |
|
for (b = info->input_bfds; b; b = b->link_next) |
for (b = info->input_bfds; b; b = b->link.next) |
{ |
asymbol **symbols; |
|
1331,7 → 1331,7 |
struct bfd_section *s; |
|
total_relocs = 0; |
for (b = info->input_bfds; b; b = b->link_next) |
for (b = info->input_bfds; b; b = b->link.next) |
for (s = b->sections; s; s = s->next) |
total_relocs += s->reloc_count; |
|
1339,7 → 1339,7 |
|
total_relocs = 0; |
bi = 0; |
for (bi = 0, b = info->input_bfds; b; bi++, b = b->link_next) |
for (bi = 0, b = info->input_bfds; b; bi++, b = b->link.next) |
{ |
arelent **relocs; |
int relsize, nrelocs; |
2591,7 → 2591,7 |
BSF_NO_FLAGS, 0); |
|
bfd_set_section_size (abfd, extern_rt_rel, PE_IDATA5_SIZE); |
extern_rt_rel_d = xmalloc (PE_IDATA5_SIZE); |
extern_rt_rel_d = xcalloc (1, PE_IDATA5_SIZE); |
extern_rt_rel->contents = extern_rt_rel_d; |
|
quick_reloc (abfd, 0, BFD_RELOC_RVA, 1); |
2727,7 → 2727,7 |
ar_head = make_head (outarch); |
|
/* Iterate the input BFDs, looking for exclude-modules-for-implib. */ |
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next) |
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next) |
{ |
/* Iterate the exclude list. */ |
struct exclude_list_struct *ex; |
3369,7 → 3369,7 |
pe_output_file_set_long_section_names (abfd); |
process_def_file_and_drectve (abfd, info); |
|
if (pe_def_file->num_exports == 0 && !info->shared) |
if (pe_def_file->num_exports == 0 && !bfd_link_pic (info)) |
return; |
|
generate_edata (abfd, info); |
3411,7 → 3411,7 |
|
fill_edata (abfd, info); |
|
if (info->shared && !info->pie) |
if (bfd_link_dll (info)) |
pe_data (abfd)->dll = 1; |
|
edata_s->contents = edata_d; |