summaryrefslogtreecommitdiff
path: root/bfd/linker.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/linker.c')
-rw-r--r--bfd/linker.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/bfd/linker.c b/bfd/linker.c
index 7a01e114a2..c51c5df93b 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -2664,7 +2664,14 @@ default_data_link_order (bfd *abfd,
fill = link_order->u.data.contents;
fill_size = link_order->u.data.size;
- if (fill_size != 0 && fill_size < size)
+ if (fill_size == 0)
+ {
+ fill = abfd->arch_info->fill (size, bfd_big_endian (abfd),
+ (sec->flags & SEC_CODE) != 0);
+ if (fill == NULL)
+ return FALSE;
+ }
+ else if (fill_size < size)
{
bfd_byte *p;
fill = (bfd_byte *) bfd_malloc (size);