Subject: tcc fails to build (test failure)

From: Ricardo Wurmus <[email-masked]>
Date: Sun, 08 Jan 2017 22:59:29 +0100

The package “tcc” fails to build.  The check phase fails:

--8<---------------cut here---------------start------------->8---
starting phase `check'
make -C tests test
make[1]: Entering directory '/tmp/guix-build-tcc-0.9.26.drv-0/tcc-0.9.26/tests'
------------ hello-exe ------------
../tcc -B.. ../examples/ex1.c -o hello || (../tcc -vv; exit 1) && ./hello
------------ hello-run ------------
../tcc -B.. -run ../examples/ex1.c
Hello World
gcc -o libtcc_test libtcc_test.c ../libtcc.a -I..  -Wall -g -O2 -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -DCONFIG_TCC_SYSINCLUDEPATHS="\"/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/include:/gnu/store/jc898psn5yc9s328nn8fya3sc2daf037-linux-libre-headers-4.4.18/include:{B}/include\"" -DCONFIG_TCC_LIBPATHS="\"/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/lib\"" -DCONFIG_TCC_CRTPREFIX="\"/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/lib\"" -DCONFIG_TCC_ELFINTERP="\"/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/lib/ld-linux-x86-64.so.2\"" -DTCC_TARGET_X86_64 -lm -ldl  
make[1]: *** [Makefile:63: hello-exe] Segmentation fault
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/guix-build-tcc-0.9.26.drv-0/tcc-0.9.26/tests'
make: *** [Makefile:316: test] Error 2
phase `check' failed after 0.2 seconds
builder for `/gnu/store/fdy7vhwj4x7639446xai7aqh2q980xpb-tcc-0.9.26.drv' failed with exit code 1
@ build-failed /gnu/store/fdy7vhwj4x7639446xai7aqh2q980xpb-tcc-0.9.26.drv - 1 builder for `/gnu/store/fdy7vhwj4x7639446xai7aqh2q980xpb-tcc-0.9.26.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/fdy7vhwj4x7639446xai7aqh2q980xpb-tcc-0.9.26.drv' failed
--8<---------------cut here---------------end--------------->8---

tcc can be used as an interpreter just fine, but the binaries it
produces segfault immediately.

--8<---------------cut here---------------start------------->8---
(gdb) bt full
#0  0x00000000080482a4 in _start ()
No symbol table info available.
(gdb) disassemble
Dump of assembler code for function _start:
   0x0000000008048280 <+0>:	xor    %ebp,%ebp
   0x0000000008048282 <+2>:	mov    %rdx,%r9
   0x0000000008048285 <+5>:	pop    %rsi
   0x0000000008048286 <+6>:	mov    %rsp,%rdx
   0x0000000008048289 <+9>:	and    $0xfffffffffffffff0,%rsp
   0x000000000804828d <+13>:	push   %rax
   0x000000000804828e <+14>:	push   %rsp
   0x000000000804828f <+15>:	mov    $0x8048350,%r8
   0x0000000008048296 <+22>:	mov    $0x80482e0,%rcx
   0x000000000804829d <+29>:	mov    $0x80482ab,%rdi
=> 0x00000000080482a4 <+36>:	callq  *0x0(%rip)        # 0x80482aa <_start+42>
   0x00000000080482aa <+42>:	hlt    
End of assembler dump.
--8<---------------cut here---------------end--------------->8---

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net