# This shell script emits a C file. -*- C -*-
-# Copyright (C) 1991-2016 Free Software Foundation, Inc.
+# Copyright (C) 1991-2018 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
+ link_info.check_relocs_after_open_input = TRUE;
link_info.relro = DEFAULT_LD_Z_RELRO;
}
/* Here we rummage through the found bfds to collect glue information. */
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
- /* Initialise mapping tables for code/data. */
- bfd_elf32_arm_init_maps (is->the_bfd);
+ /* Initialise mapping tables for code/data. */
+ bfd_elf32_arm_init_maps (is->the_bfd);
if (!bfd_elf32_arm_process_before_allocation (is->the_bfd,
&link_info)
}
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
+ einfo (_("%X%P: could not compute sections lists "
+ "for stub generation: %E\n"));
return;
}
& elf32_arm_add_stub_section,
& gldarm_layout_sections_again))
{
- einfo ("%X%P: cannot size stub section: %E\n");
+ einfo (_("%X%P: cannot size stub section: %E\n"));
return;
}
}
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
- /* Figure out where VFP11 erratum veneers (and the labels returning
- from same) have been placed. */
- bfd_elf32_arm_vfp11_fix_veneer_locations (is->the_bfd, &link_info);
+ /* Figure out where VFP11 erratum veneers (and the labels returning
+ from same) have been placed. */
+ bfd_elf32_arm_vfp11_fix_veneer_locations (is->the_bfd, &link_info);
/* Figure out where STM32L4XX erratum veneers (and the labels returning
from them) have been placed. */
if (stub_file->the_bfd->sections != NULL)
{
if (! elf32_arm_build_stubs (& link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: Cannot change output format whilst linking ARM binaries.\n");
+ einfo (_("%F%X%P: error: Cannot change output format "
+ "whilst linking ARM binaries.\n"));
return;
}
bfd_get_target (link_info.output_bfd));
if (params.in_implib_bfd == NULL)
- einfo ("%F%s: Can't open: %E\n", in_implib_filename);
+ einfo (_("%F%s: Can't open: %E\n"), in_implib_filename);
if (!bfd_check_format (params.in_implib_bfd, bfd_object))
- einfo ("%F%s: Not a relocatable file: %E\n", in_implib_filename);
+ einfo (_("%F%s: Not a relocatable file: %E\n"), in_implib_filename);
}
bfd_elf32_arm_set_target_params (link_info.output_bfd, &link_info, ¶ms);
stub_file = lang_add_input_file ("linker stubs",
- lang_input_file_is_fake_enum,
- NULL);
+ lang_input_file_is_fake_enum,
+ NULL);
stub_file->the_bfd = bfd_create ("linker stubs", link_info.output_bfd);
if (stub_file->the_bfd == NULL
|| ! bfd_set_arch_mach (stub_file->the_bfd,
- bfd_get_arch (link_info.output_bfd),
- bfd_get_mach (link_info.output_bfd)))
+ 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;
}
case OPTION_VFP11_DENORM_FIX:
if (strcmp (optarg, "none") == 0)
- params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_NONE;
+ params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_NONE;
else if (strcmp (optarg, "scalar") == 0)
- params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_SCALAR;
+ params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_SCALAR;
else if (strcmp (optarg, "vector") == 0)
- params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_VECTOR;
+ params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_VECTOR;
else
- einfo (_("Unrecognized VFP11 fix type '\''%s'\''.\n"), optarg);
+ einfo (_("Unrecognized VFP11 fix type '\''%s'\''.\n"), optarg);
break;
case OPTION_STM32L4XX_FIX:
if (!optarg)
- params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_DEFAULT;
+ params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_DEFAULT;
else if (strcmp (optarg, "none") == 0)
- params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_NONE;
+ params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_NONE;
else if (strcmp (optarg, "default") == 0)
- params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_DEFAULT;
+ params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_DEFAULT;
else if (strcmp (optarg, "all") == 0)
- params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_ALL;
+ params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_ALL;
else
- einfo (_("Unrecognized STM32L4XX fix type '\''%s'\''.\n"), optarg);
+ einfo (_("Unrecognized STM32L4XX fix type '\''%s'\''.\n"), optarg);
break;
case OPTION_NO_ENUM_SIZE_WARNING:
{
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;