On 08/01/2025 21:47, Thiago Jung Bauermann wrote:
> "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?
> 

Yes, but please give it a few days to allow the various builders to check that 
there's no unexpected fallout first.

R.

Reply via email to