# This shell script emits a C file. -*- C -*-
-# Copyright 1991, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1991-2017 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
static void
hppaelf_after_parse (void)
{
- if (link_info.relocatable)
+ if (bfd_link_relocatable (&link_info))
lang_add_unique (".text");
/* Enable this once we split millicode stuff from libgcc:
lang_add_input_file ("milli",
- lang_input_file_is_l_enum,
+ lang_input_file_is_l_enum,
NULL);
*/
- after_parse_default ();
+ gld${EMULATION_NAME}_after_parse ();
}
/* This is called before the input files are opened. We create a new
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
ldlang_add_file (stub_file);
+ elf32_hppa_init_stub_bfd (stub_file->the_bfd, &link_info);
}
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
static void
gld${EMULATION_NAME}_after_allocation (void)
{
+ int ret;
+
/* bfd_elf_discard_info just plays with data and debugging sections,
ie. doesn't affect code size, so we can delay resizing the
sections. It's likely we'll resize everything in the process of
adding stubs. */
- if (bfd_elf_discard_info (link_info.output_bfd, &link_info))
+ ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
+ if (ret < 0)
+ {
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
+ return;
+ }
+ else if (ret > 0)
need_laying_out = 1;
/* If generating a relocatable output file, then we don't
have to examine the relocs. */
- if (stub_file != NULL && !link_info.relocatable)
+ if (stub_file != NULL && !bfd_link_relocatable (&link_info))
{
- int ret = elf32_hppa_setup_section_lists (link_info.output_bfd,
- &link_info);
-
+ ret = elf32_hppa_setup_section_lists (link_info.output_bfd, &link_info);
if (ret != 0)
{
if (ret < 0)
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
&hppaelf_add_stub_section,
&hppaelf_layout_sections_again))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
}
if (need_laying_out != -1)
gld${EMULATION_NAME}_map_segments (need_laying_out);
- if (! link_info.relocatable)
+ if (!bfd_link_relocatable (&link_info))
{
/* Set the global data pointer. */
if (! elf32_hppa_set_gp (link_info.output_bfd, &link_info))
{
- einfo ("%X%P: can not set gp\n");
+ einfo (_("%X%P: can not set gp\n"));
return;
}
if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
{
if (! elf32_hppa_build_stubs (&link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
}
case OPTION_STUBGROUP_SIZE:
{
const char *end;
- group_size = bfd_scan_vma (optarg, &end, 0);
- if (*end)
+ group_size = bfd_scan_vma (optarg, &end, 0);
+ if (*end)
einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
}
break;