Re: [patch] AVR: Tidy bfd/elf32-avr.c

Georg-Johann Lay via Binutils <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
Approved here: 
https://gcc.gnu.org/pipermail/gcc-patches/2026-August/727700.html

Applied as: 
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=ac05a510ce55837e3622832eceaa274d823893a6

Johann

Am 11.08.26 um 10:34 schrieb Georg-Johann Lay via Binutils:
> This patch is a code cleanup for bfd/elf32-avr.c, in particular
> the code in elf32_avr_relax_section which was long spaghetti with
> indentation levels of 8 and more, which made the code harder to
> grasp than necessary.
> 
> Now it uses new helper functions like avr_local_label_at and
> avr_is_RCALL.
> 
> It also uses more C99 features like bool and for loop variables.
> It uses ARRAY_SIZE if applicable, and uses XXX_t typedefs instead
> of struct XXX.  It also avoids using the same names for structs
> and objects.
> 
> The change is a no-op, though some of the --debug-relax messages
> have been adjusted / unified, which has no impact on the testsuite.
> 
> There are no new regressions when tested in the GCC testsuite,
> both with and without -mrelax.
> 
> Ok for trunk?
> 
> Johann
> 
> -- 
> 
> bfd/
>      * elf32-avr.c (libiberty.h): Include for ARRAY_SIZE.
>      (struct avr_reloc_map): Use typedef avr_reloc_map_t instead
>      so we don't have the same name for an object and a type.
>      (struct elf32_avr_stub_hash_entry): Use typedef
>      elf32_avr_stub_hash_entry_t.
>      (struct struct elf32_avr_link_hash_table): Use typedef
>      elf32_avr_link_hash_table_t.
>      (struct avr_relax_info): Use avr_relax_info_t.
>      (struct elf_avr_section_data): use elf_avr_section_data_t.
>      (avr_replace_call_ret_sequences): Is bool.
>      (bfd_elf32_bfd_reloc_type_lookup): Use C99 loops.
>      (elf32_avr_relax_delete_bytes): Use C99 loops.
>      (avr_load_all_property_sections): Same.
>      (avr_word): New static function.
>      (avr_is_CALL): New static function outsourced from
>      elf32_avr_relax_section.
>      (avr_is_JMP): Same.
>      (avr_is_RCALL): Same.
>      (avr_is_RJMP): Same.
>      (avr_is_RET): Same.
>      (avr_is_skip): Same.
>      (avr_read_symbuf): Same.
>      (avr_local_label_at): Same.
>      (avr_global_label_at): Same.
>      (avr_reloc_at): Same.
>      (elf32_avr_relax_section): Outsource functionality to the
>      new static functions above.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.