From 76c20d54ca5042e11af9ddf5723cc24cf47736ec Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 27 Apr 2017 12:03:39 +0930 Subject: [PATCH] Constify elf_backend_eh_frame_address_size * elf-bfd.h (struct elf_backend_data): Make asection param of elf_backend_eh_frame_address_size const. (_bfd_elf_eh_frame_address_size): Likewise. * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise. * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise. * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise. * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise. * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise. (next_cie_fde_offset): Constify params. (offset_adjust, adjust_eh_frame_local_symbols): Likewise. --- bfd/ChangeLog | 13 +++++++++++++ bfd/elf-bfd.h | 4 ++-- bfd/elf-eh-frame.c | 12 ++++++------ bfd/elf32-m32c.c | 3 ++- bfd/elf32-msp430.c | 3 ++- bfd/elfxx-mips.c | 2 +- bfd/elfxx-mips.h | 2 +- 7 files changed, 27 insertions(+), 12 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0f08ddd1e3..376f2013cf 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,16 @@ +2017-04-27 Alan Modra + + * elf-bfd.h (struct elf_backend_data): Make asection param of + elf_backend_eh_frame_address_size const. + (_bfd_elf_eh_frame_address_size): Likewise. + * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise. + * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise. + * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise. + * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise. + * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise. + (next_cie_fde_offset): Constify params. + (offset_adjust, adjust_eh_frame_local_symbols): Likewise. + 2017-04-27 Alan Modra * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index bff6abc669..79f87b233e 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1291,7 +1291,7 @@ struct elf_backend_data that can't be determined for some reason. The default definition goes by the bfd's EI_CLASS. */ unsigned int (*elf_backend_eh_frame_address_size) - (bfd *, asection *); + (bfd *, const asection *); /* These functions tell elf-eh-frame whether to attempt to turn absolute or lsda encodings into pc-relative ones. The default @@ -1987,7 +1987,7 @@ extern void bfd_elf_print_symbol (bfd *, void *, asymbol *, bfd_print_symbol_type); extern unsigned int _bfd_elf_eh_frame_address_size - (bfd *, asection *); + (bfd *, const asection *); extern bfd_byte _bfd_elf_encode_eh_address (bfd *abfd, struct bfd_link_info *info, asection *osec, bfd_vma offset, asection *loc_sec, bfd_vma loc_offset, bfd_vma *encoded); diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c index 1af6f30908..52ba9c6213 100644 --- a/bfd/elf-eh-frame.c +++ b/bfd/elf-eh-frame.c @@ -326,9 +326,9 @@ size_of_output_cie_fde (struct eh_cie_fde *entry) /* Return the offset of the FDE or CIE after ENT. */ static unsigned int -next_cie_fde_offset (struct eh_cie_fde *ent, - struct eh_cie_fde *last, - asection *sec) +next_cie_fde_offset (const struct eh_cie_fde *ent, + const struct eh_cie_fde *last, + const asection *sec) { while (++ent < last) { @@ -1334,7 +1334,7 @@ find_merged_cie (bfd *abfd, struct bfd_link_info *info, asection *sec, after .eh_frame editing. */ static bfd_signed_vma -offset_adjust (bfd_vma offset, asection *sec) +offset_adjust (bfd_vma offset, const asection *sec) { struct eh_frame_sec_info *sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info; @@ -1442,7 +1442,7 @@ _bfd_elf_adjust_eh_frame_global_symbol (struct elf_link_hash_entry *h, if any symbol was changed. */ static int -adjust_eh_frame_local_symbols (asection *sec, +adjust_eh_frame_local_symbols (const asection *sec, struct elf_reloc_cookie *cookie) { unsigned int shndx; @@ -2546,7 +2546,7 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info) /* Return the width of FDE addresses. This is the default implementation. */ unsigned int -_bfd_elf_eh_frame_address_size (bfd *abfd, asection *sec ATTRIBUTE_UNUSED) +_bfd_elf_eh_frame_address_size (bfd *abfd, const asection *sec ATTRIBUTE_UNUSED) { return elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64 ? 8 : 4; } diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 1944465aac..0ee67b7aeb 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -2107,7 +2107,8 @@ m32c_elf_relax_delete_bytes /* This is for versions of gcc prior to 4.3. */ static unsigned int -_bfd_m32c_elf_eh_frame_address_size (bfd *abfd, asection *sec ATTRIBUTE_UNUSED) +_bfd_m32c_elf_eh_frame_address_size (bfd *abfd, + const asection *sec ATTRIBUTE_UNUSED) { if ((elf_elfheader (abfd)->e_flags & EF_M32C_CPU_MASK) == EF_M32C_CPU_M16C) return 2; diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 8755280393..25bbdc8e32 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -2552,7 +2552,8 @@ uses_large_model (bfd *abfd) } static unsigned int -elf32_msp430_eh_frame_address_size (bfd *abfd, asection *sec ATTRIBUTE_UNUSED) +elf32_msp430_eh_frame_address_size (bfd *abfd, + const asection *sec ATTRIBUTE_UNUSED) { return uses_large_model (abfd) ? 4 : 2; } diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 8f6faad579..70c7f1cc3d 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -7028,7 +7028,7 @@ _bfd_mips_elf_symbol_processing (bfd *abfd, asymbol *asym) did so. */ unsigned int -_bfd_mips_elf_eh_frame_address_size (bfd *abfd, asection *sec) +_bfd_mips_elf_eh_frame_address_size (bfd *abfd, const asection *sec) { if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64) return 8; diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h index 45eb74fc2d..44ad789371 100644 --- a/bfd/elfxx-mips.h +++ b/bfd/elfxx-mips.h @@ -29,7 +29,7 @@ extern bfd_boolean _bfd_mips_elf_new_section_hook extern void _bfd_mips_elf_symbol_processing (bfd *, asymbol *); extern unsigned int _bfd_mips_elf_eh_frame_address_size - (bfd *, asection *); + (bfd *, const asection *); extern bfd_boolean _bfd_mips_elf_name_local_section_symbols (bfd *); extern bfd_boolean _bfd_mips_elf_section_processing -- 2.34.1