> On 12/2/22 10:52, Cupertino Miranda via Gcc-patches wrote:
>> This commit is a follow up of bugzilla #107181.
>> The commit /a0aafbc/ changed the default implementation of the
>> SELECT_SECTION hook in order to match clang/llvm behaviour w.r.t the
>> placement of `const volatile' objects.
>> However, the following targets use target-specific selection functions
>> and they choke on the testcase pr25521.c:
>> *rx - target sets its const variables as '.section C,"a",@progbits'.
> That's presumably a constant section. We should instead twiddle the test to
> recognize that section.
Although @progbits is indeed a constant section, I believe it is
more interesting to detect if the `rx' starts selecting more
standard sections instead of the current @progbits.
That was the reason why I opted to XFAIL instead of PASSing it.
Can I keep it as such ?
>
>> *powerpc - its 32bit version is eager to allocate globals in .sdata
>> sections.
>> Normally, one can expect for the variable to be allocated in .srodata,
>> however, in case of powerpc-*-* or powerpc64-*-* (with -m32)
>> 'targetm.have_srodata_section == false' and the code in
>> categorize_decl_for_section(varasm.cc), forces it to allocate in .sdata.
>> /* If the target uses small data sections, select it. */
>> else if (targetm.in_small_data_p (decl))
>> {
>> if (ret == SECCAT_BSS)
>> ret = SECCAT_SBSS;
>> else if targetm.have_srodata_section && ret == SECCAT_RODATA)
>> ret = SECCAT_SRODATA;
>> else
>> ret = SECCAT_SDATA;
>> }
> I'd just skip the test for 32bit ppc. There should be suitable
> effective-target
> tests you can use.
>
> jeff