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