On Thu, Jan 7, 2016 at 2:21 PM, Kyrill Tkachov
<kyrylo.tkac...@foss.arm.com> wrote:
> Hi Bin,
>
>
> On 07/01/16 14:15, Bin.Cheng wrote:
>>
>> Hi,
>> Below test is supposed to be compiled and run, but we failed to link
>> the binary with tiny memory model.
>>
>> spawn
>> /data/work/build-aarch64_be-none-elf/obj/gcc2/gcc/testsuite/g++14/../../xg++
>> -B/data/work/build-aarch64_be-none-elf/obj/gcc2/gcc/testsuite/g++14/../../
>> /data/work/src/gcc/gcc/testsuite/g++.dg/torture/pr67600.C
>> -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++
>>
>> -I/data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/libstdc++-v3/include/aarch64_be-none-elf
>>
>> -I/data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/libstdc++-v3/include
>> -I/data/work/src/gcc/libstdc++-v3/libsupc++
>> -I/data/work/src/gcc/libstdc++-v3/include/backward
>> -I/data/work/src/gcc/libstdc++-v3/testsuite/util -fmessage-length=0
>> -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects
>> -specs=aem-validation.specs
>>
>> -L/data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/./libstdc++-v3/src/.libs
>>
>> -B/data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/./libstdc++-v3/src/.libs
>> -lm -mcmodel=tiny -o ./pr67600.exe
>> /tmp/ccd32hub.ltrans0.ltrans.o: In function `main':
>> <artificial>:(.text.startup+0x68): relocation truncated to fit:
>> R_AARCH64_ADR_PREL_LO21 against symbol `std::cout' defined in
>> .bss._ZSt4cout section in
>>
>> /data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/./libstdc++-v3/src/.libs/libstdc++.a(globals_io.o)
>> collect2: error: ld returned 1 exit status
>> compiler exited with status 1
>> output is:
>> /tmp/ccd32hub.ltrans0.ltrans.o: In function `main':
>> <artificial>:(.text.startup+0x68): relocation truncated to fit:
>> R_AARCH64_ADR_PREL_LO21 against symbol `std::cout' defined in
>> .bss._ZSt4cout section in
>>
>> /data/work/build-aarch64_be-none-elf/obj/gcc2/aarch64_be-none-elf/./libstdc++-v3/src/.libs/libstdc++.a(globals_io.o)
>> collect2: error: ld returned 1 exit status
>>
>> UNSUPPORTED: g++.dg/torture/pr67600.C   -O2 -flto -fuse-linker-plugin
>> -fno-fat-lto-objects : memory full
>>
>> In my understanding, dg-do run test case should be marked as
>> FAIL&UNRESOLVED if binary file can't be generated.  But here it's
>> categorized as an UNSUPPORTED test.  This could be mis-leading
>> sometimes since unsupported test could be ignored.
>
>
> The problem is that many of these libstdc++ tests got too big for the tiny
> memory model
> and the whole testsuite got very noisy due to these relocation truncation
> errors.
> That's why we try to mark them as unsupported. I tried doing it in the past
> and
> Szabolcs fixed it properly with
> https://gcc.gnu.org/ml/libstdc++/2015-10/msg00037.html

Good to know it's intended behavior.

Thanks,
bin

Reply via email to