[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] (not important) issue on CentOS 7.x x64 when bootstrapped

From: Christian Jullien
Subject: [Tinycc-devel] (not important) issue on CentOS 7.x x64 when bootstrapped with clang 3.4
Date: Thu, 7 Jan 2021 08:24:08 +0100

Hi all,


I don’t know if we really want to fix it (personally I can leave with it) but CentOS 7.x fails on one test (coredump) when tcc is bootstrapped with quite old clang 3.4 the latest official version installed by yum (gcc and tcc work well).

This is a customer’s machine I use daily but not with tcc. I have the impression that this bug is new but I can’t confirm.

Other Linux x64 machines I use (Debian 10.7, Fedora v33) are fine with more recent clang versions.


Adding –with-selinux, which is not needed on this platform, does not change things.


[cjullien@hilbert ~]$ uname -a

Linux <hidden> 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18 15:06:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[cjullien@hilbert ~]$ more /etc/centos-release

CentOS Linux release 7.4.1708 (Core)


./configure --strip-binaries --cc=clang --prefix=/home/cjullien/tinycc/static

Binary directory    /home/cjullien/tinycc/static/bin

TinyCC directory    /home/cjullien/tinycc/static/lib/tcc

Library directory   /home/cjullien/tinycc/static/lib

Include directory   /home/cjullien/tinycc/static/include

Manual directory    /home/cjullien/tinycc/static/share/man

Info directory      /home/cjullien/tinycc/static/share/info

Doc directory       /home/cjullien/tinycc/static/share/doc

Source path         /home/cjullien/tinycc

C compiler          clang (3.4)

Target OS           Linux

CPU                 x86_64

Config              strip

Creating config.mak and config.h

clang -o tcc.o -c tcc.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o libtcc.o -c libtcc.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -DC2STR conftest.c -o c2str.exe && ./c2str.exe include/tccdefs.h tccdefs_.h

clang -o tccpp.o -c tccpp.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o tccgen.o -c tccgen.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o tccelf.o -c tccelf.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o tccasm.o -c tccasm.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o tccrun.o -c tccrun.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o x86_64-gen.o -c x86_64-gen.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o x86_64-link.o -c x86_64-link.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

clang -o i386-asm.o -c i386-asm.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64        -DONE_SOURCE=0 -Wall -O2 -Wdeclaration-after-statement -fno-strict-aliasing -fheinous-gnu-extensions -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-string-plus-int -I.

ar rcs libtcc.a libtcc.o tccpp.o tccgen.o tccelf.o tccasm.o tccrun.o x86_64-gen.o x86_64-link.o i386-asm.o

clang -o tcc tcc.o libtcc.a -lm -lpthread -ldl -s

../tcc -c libtcc1.c -o libtcc1.o -B.. -I..

../tcc -c alloca86_64.S -o alloca86_64.o -B.. -I..

../tcc -c alloca86_64-bt.S -o alloca86_64-bt.o -B.. -I..

../tcc -c va_list.c -o va_list.o -B.. -I..

../tcc -c dsohandle.c -o dsohandle.o -B.. -I..

../tcc -ar rcs ../libtcc1.a libtcc1.o alloca86_64.o alloca86_64-bt.o va_list.o dsohandle.o

../tcc -c bt-exe.c -o ../bt-exe.o -B.. -I..

../tcc -c bt-log.c -o ../bt-log.o -B.. -I..

../tcc -c bcheck.c -o ../bcheck.o -B.. -I.. -g

perl ./texi2pod.pl tcc-doc.texi tcc-doc.pod

pod2man --section=1 --center="Tiny C Compiler" --release="0.9.27" tcc-doc.pod >tcc.1 && rm -f tcc-doc.pod

------------ hello-exe ------------

Hello World

------------ hello-run ------------

Hello World

------------ libtest ------------

Hello World!

fib(32) = 2178309

add(32, 64) = 96

------------ libtest_mt ------------

running fib with mixed calls

  1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946

(6 ms)

running fib in threads

  13 3 2 1 8 5 21 34 233 55 89 377 987 144 610 2584 4181 6765 1597 10946

(9 ms)

running tcc.c in threads to run fib

  8 13 1 5 2 3 21 55 144 89 377 233 34 610 1597 4181 2584 6765 10946 987

(552 ms)

compiling tcc.c 10 times

(268 ms)

/bin/sh: line 1: 27034 Segmentation fault      (core dumped) ./tcctest.gcc > test.ref

gmake[2]: *** [Makefile:110: test.ref] Error 139

gmake[2]: Target 'test3' not remade because of errors.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]