aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-12-16 00:42:21 +1030
committerAlan Modra <amodra@gmail.com>2020-12-16 15:17:53 +1030
commitc410035d37d8237c641155c4e51e7ccf53decb29 (patch)
treef61182fd4ba33baefa14ea1cbe197dfb05d9204b /include
parent3f75e1d67fe871db85d46618b95d0dc92291577d (diff)
downloadfsf-binutils-gdb-c410035d37d8237c641155c4e51e7ccf53decb29.zip
fsf-binutils-gdb-c410035d37d8237c641155c4e51e7ccf53decb29.tar.gz
fsf-binutils-gdb-c410035d37d8237c641155c4e51e7ccf53decb29.tar.bz2
constify elfNN_bed
elfNN_bed was made writable as an expedient means of communicating ld -z max-page-size and ld -z common-page-size values to BFD linker code, and even for objcopy to communicate segment alignment between copy_private_bfd_data, rewrite_elf_program_header and assign_file_positions_for_load_sections. Some time later elfNN_bed elf_osabi was written by gas. It turns out none of these modifications to elfNN_bed was necessary, so make it const again. include/ * bfdlink.h (struct bfd_link_info): Add maxpagesize and commonpagesize. bfd/ * elfxx-target.h (elfNN_bed): Constify. * bfd.c (bfd_elf_set_pagesize): Delete. (bfd_emul_set_maxpagesize, bfd_emul_set_commonpagesize): Delete. * elf.c (get_program_header_size): Get commonpagesize from link info. (_bfd_elf_map_sections_to_segments): Get maxpagesize from link info. (assign_file_positions_for_load_sections): Likewise. (assign_file_positions_for_non_load_sections): Likewise. (rewrite_elf_program_header): Add maxpagesize param. Set map_p_align. (copy_private_bfd_data): Don't call bfd_elf_set_maxpagesize. Instead pass maxpagesize to rewrite_elf_program_header. * elf32-nds32.c (relax_range_measurement): Add link_info param. Get maxpagesize from link_info. Adjust caller. * bfd-in2.h: Regenerate. gas/ * config/obj-elf.c (obj_elf_section): Don't set elf_osabi here. (obj_elf_type): Likewise. ld/ * ld.h (ld_config_type): Delete maxpagesize and commonpagesize. * emultempl/elf.em: Use link_info rather than config for maxpagesize and commonpagesize. * emultempl/ppc32elf.em: Likewise. * ldexp.c (fold_binary, fold_name): Likewise. * ldemul.c (after_parse_default): Likewise. (set_output_arch_default): Don't call bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/bfdlink.h6
2 files changed, 11 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index a4c5dd9..9c19b87 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,5 +1,10 @@
2020-12-16 Alan Modra <amodra@gmail.com>
+ * bfdlink.h (struct bfd_link_info): Add maxpagesize and
+ commonpagesize.
+
+2020-12-16 Alan Modra <amodra@gmail.com>
+
* xtensa-isa-internal.h (xtensa_format_internal),
(xtensa_slot_internal, xtensa_operand_internal),
(xtensa_arg_internal, xtensa_iclass_internal),
diff --git a/include/bfdlink.h b/include/bfdlink.h
index 3019033..6b179ec 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -661,6 +661,12 @@ struct bfd_link_info
/* May be used to set ELF visibility for __start_* / __stop_. */
unsigned int start_stop_visibility;
+ /* The maximum page size for ELF. */
+ bfd_vma maxpagesize;
+
+ /* The common page size for ELF. */
+ bfd_vma commonpagesize;
+
/* Start and end of RELRO region. */
bfd_vma relro_start, relro_end;