"Richard Earnshaw (lists)" <richard.earns...@arm.com> writes:
> On 27/12/2024 21:47, Thiago Jung Bauermann wrote: >> In 32-bit Arm assembly, the @ character is the start of a comment so >> the section type needs to use the % character instead. >> >> configure.ac attempts to account for this difference by doing a second >> try when checking the assembler for section merging support. >> Unfortunately there is a bug: because the gcc_GAS_CHECK_FEATURE macro >> has a call to AC_CACHE_CHECK, it will actually skip the second try >> because the gcc_cv_as_shf_merge variable has already been set: >> >> checking assembler for section merging support... no >> checking assembler for section merging support... (cached) no >> >> Fix by using a separate variable for the second try, as is done in the >> check for COMDAT group support. >> >> This problem was noticed because the recent binutils commit >> d5cbf916be4a ("gas/ELF: also reject merge entity size being zero") caused >> gas to be stricter about mergeable sections without an entity size: >> >> configure:27013: checking assembler for section merging support >> configure:27022: /path/to/as --fatal-warnings -o conftest.o conftest.s >&5 >> conftest.s: Assembler messages: >> conftest.s:1: Warning: invalid merge / string entity size >> conftest.s: Error: 1 warning, treating warnings as errors >> configure:27025: $? = 1 >> configure: failed program was >> .section .rodata.str, "aMS", @progbits, 1 >> configure:27036: result: no >> >> In previous versions of gas the conftest.s program above was accepted >> and configure detected support for section merging. >> >> See also: >> https://linaro.atlassian.net/browse/GNU-1427 >> https://sourceware.org/bugzilla/show_bug.cgi?id=32491 >> >> Tested on armv8l-linux-gnueabihf. >> >> gcc/ChangeLog: >> * configure.ac: Fix check for HAVE_GAS_SHF_MERGE on Arm targets. >> * configure: Regenerate. > > OK. > > R. Thank you! Pushed as commit 36eee5a74eb6. Is it ok if I also push it to the supported branches releases/gcc-12, releases/gcc-13 and releases/gcc-14? -- Thiago