> 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