Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Oh, I missed that, sorry. conftest returns "arm-linux-gnueabihf" as expected, but the test in the next line (configure:323): if test -n "$tt" -a -f "/usr/lib/$tt/crti.o" ; then is not true, because I do not have a directory such /usr/lib/arm-linux-gnueabihf [OFF] It is funny though, conftest converts __ARM_EABI__ and __ARM_PCS_VFP into a misty "gnueabihf", and then configure tries to decode this stuff into TCC_CONFIG_ARM and TCC_ARM_EABI based on a mysterious assumption ("/usr/lib/$tt/crti.o"). Sidenote: this triplet thing is the most shittiest thing in autotools (I know, tcc does not use autotools). That's why I prefer scconfig (http://repo.hu/projects/scconfig/) for my projects. [ON] Aron On 12/23/18 3:07 PM, Christian Jullien wrote: As said, it's a temporary tool deleted by ./configure right after it's use. rm -f $TMPN* $CONFTEST Can you trace configure script to see how it uses $CONFTEST in different places and why configure.mak is not correct? C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 15:02 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? I just ran: $ gcc conftest.c -o conftest && ./conftest triplet arm-linux-gnueabihf Although, it is strange, I do not have this executable after running configure. Maybe configure decided to not use it? On 12/23/18 2:43 PM, Christian Jullien wrote: Triplet is given by the temporary conftest tool. You can make it with: $ gcc conftest.c -o conftest && ./conftest triplet arm-linux-gnueabihf Try to debug this very small C program to see why triplet is not defined on your system. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 14:32 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? What is in your triplet? Mine is empty. On 12/23/18 2:22 PM, Christian Jullien wrote: On Raspbian, running ./configure I get: jullien@sims3:~/tinycc $ more config.mak # Automatically generated by configure - do not modify prefix=/usr/local bindir=$(DESTDIR)/usr/local/bin tccdir=$(DESTDIR)/usr/local/lib/tcc libdir=$(DESTDIR)/usr/local/lib includedir=$(DESTDIR)/usr/local/include mandir=$(DESTDIR)/usr/local/share/man infodir=$(DESTDIR)/usr/local/share/info docdir=$(DESTDIR)/usr/local/share/doc CC=gcc GCC_MAJOR=6 GCC_MINOR=3 AR=ar STRIP=strip -s -R .comment -R .note CFLAGS=-Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result LDFLAGS= LIBSUF=.a EXESUF= DLLSUF=.so NATIVE_DEFINES+=-DCONFIG_TRIPLET="\"arm-linux-gnueabihf\"" NATIVE_DEFINES+=-DTCC_CPU_VERSION=7 ARCH=arm TARGETOS=Linux CONFIG_arm_eabihf=yes CONFIG_arm_vfp=yes CONFIG_arm_vfp=yes VERSION = 0.9.27 TOPSRC=$(TOP) This generated file is used by Makefile Line 11: include $(TOP)/config.mak Then Line 77: NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT IMHO, ./configure does something odd around line 336 with if test "$cpu" = "arm" ; then if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" elif test "${triplet%eabi}" != "$triplet" ; then confvars="$confvars arm_eabi" fi if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then confvars="$confvars arm_vfp" fi fi On my RPi it executes: if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" Which, then results to -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT in Makefile. C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 13:55 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not defined. What I did was just run ./configure without any arguments and then a "make". Maybe this provides a clue to the maintainers. After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now does not crash during linking, because it now cannot compile. Weird. Aron On 12/23/18 1:18 PM, Barath Aron wrote: In tccelf.c:2359, it clearly jumps to the end of the loop. And dies in the next loop: /* second short pass to update... */ Take this gdb fragment as an explanation: Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) at tccelf.c:2357 2357sh_name = (char *) strsec + sh->sh_name; (gdb) p i $21 = 6 (gdb) n 2359if (sh->sh_type != SHT_PROGBITS && (gdb) p
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
As said, it's a temporary tool deleted by ./configure right after it's use. rm -f $TMPN* $CONFTEST Can you trace configure script to see how it uses $CONFTEST in different places and why configure.mak is not correct? C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 15:02 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? I just ran: $ gcc conftest.c -o conftest && ./conftest triplet arm-linux-gnueabihf Although, it is strange, I do not have this executable after running configure. Maybe configure decided to not use it? On 12/23/18 2:43 PM, Christian Jullien wrote: > Triplet is given by the temporary conftest tool. You can make it with: > > $ gcc conftest.c -o conftest && ./conftest triplet > arm-linux-gnueabihf > > Try to debug this very small C program to see why triplet is not defined on > your system. > > -Original Message- > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] > On Behalf Of Barath Aron > Sent: dimanche 23 décembre 2018 14:32 > To: tinycc-devel@nongnu.org > Subject: Re: [Tinycc-devel] When is planned to be released the next version > of Tcc? > > What is in your triplet? Mine is empty. > > On 12/23/18 2:22 PM, Christian Jullien wrote: >> On Raspbian, running ./configure I get: >> >> jullien@sims3:~/tinycc $ more config.mak >> # Automatically generated by configure - do not modify >> prefix=/usr/local >> bindir=$(DESTDIR)/usr/local/bin >> tccdir=$(DESTDIR)/usr/local/lib/tcc >> libdir=$(DESTDIR)/usr/local/lib >> includedir=$(DESTDIR)/usr/local/include >> mandir=$(DESTDIR)/usr/local/share/man >> infodir=$(DESTDIR)/usr/local/share/info >> docdir=$(DESTDIR)/usr/local/share/doc >> CC=gcc >> GCC_MAJOR=6 >> GCC_MINOR=3 >> AR=ar >> STRIP=strip -s -R .comment -R .note >> CFLAGS=-Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing >> -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result >> LDFLAGS= >> LIBSUF=.a >> EXESUF= >> DLLSUF=.so >> NATIVE_DEFINES+=-DCONFIG_TRIPLET="\"arm-linux-gnueabihf\"" >> NATIVE_DEFINES+=-DTCC_CPU_VERSION=7 >> ARCH=arm >> TARGETOS=Linux >> CONFIG_arm_eabihf=yes >> CONFIG_arm_vfp=yes >> CONFIG_arm_vfp=yes >> VERSION = 0.9.27 >> TOPSRC=$(TOP) >> >> This generated file is used by Makefile >> Line 11: include $(TOP)/config.mak >> >> Then >> Line 77: NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI >> -DTCC_ARM_HARDFLOAT >> >> IMHO, ./configure does something odd around line 336 with >> >> if test "$cpu" = "arm" ; then >> if test "${triplet%eabihf}" != "$triplet" ; then >> confvars="$confvars arm_eabihf arm_vfp" >> elif test "${triplet%eabi}" != "$triplet" ; then >> confvars="$confvars arm_eabi" >> fi >> if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then >> confvars="$confvars arm_vfp" >> fi >> fi >> >> >> On my RPi it executes: >> >> if test "${triplet%eabihf}" != "$triplet" ; then >> confvars="$confvars arm_eabihf arm_vfp" >> >> Which, then results to -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT in Makefile. >> >> C. >> >> -Original Message- >> From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] >> On Behalf Of Barath Aron >> Sent: dimanche 23 décembre 2018 13:55 >> To: tinycc-devel@nongnu.org >> Subject: Re: [Tinycc-devel] When is planned to be released the next version >> of Tcc? >> >> I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not >> defined. What I did was just run ./configure without any arguments and >> then a "make". Maybe this provides a clue to the maintainers. >> >> After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now >> does not crash during linking, because it now cannot compile. Weird. >> >> Aron >> >> >> On 12/23/18 1:18 PM, Barath Aron wrote: >>> In tccelf.c:2359, it clearly jumps to the end of the loop. >>> And dies in the next loop: /* second short pass to update... */ >>> >>> Take this gdb fragment as an explanation: >>> >>> Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, >>> fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) >>> at tccelf.c:2357 >>> 2357sh_name = (char *) strsec + sh->sh_name; >>> (gdb) p i >>> $21 = 6 >>> (gdb) n >>> 2359if (sh->sh_type != SHT_PROGBITS && >>> (gdb) p *sh >>> $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, >>> sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign >>> = 4, >>> sh_entsize = 0} >>> (gdb) n >>> 2439next: ; >>> (gdb) n >>> 2354if (i == ehdr.e_shstrndx) >>> (gdb) p i >>> $23 = 7 >>> >>> 1879048193 == 0x7001 == SHT_ARM_EXIDX >>> >>> Aron >>> >>> >>> On 12/23/18 11:52 AM, Daniel Glöckner wrote: On Sun, Dec 23, 2018 at
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Triplet is given by the temporary conftest tool. You can make it with: $ gcc conftest.c -o conftest && ./conftest triplet arm-linux-gnueabihf Try to debug this very small C program to see why triplet is not defined on your system. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 14:32 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? What is in your triplet? Mine is empty. On 12/23/18 2:22 PM, Christian Jullien wrote: > On Raspbian, running ./configure I get: > > jullien@sims3:~/tinycc $ more config.mak > # Automatically generated by configure - do not modify > prefix=/usr/local > bindir=$(DESTDIR)/usr/local/bin > tccdir=$(DESTDIR)/usr/local/lib/tcc > libdir=$(DESTDIR)/usr/local/lib > includedir=$(DESTDIR)/usr/local/include > mandir=$(DESTDIR)/usr/local/share/man > infodir=$(DESTDIR)/usr/local/share/info > docdir=$(DESTDIR)/usr/local/share/doc > CC=gcc > GCC_MAJOR=6 > GCC_MINOR=3 > AR=ar > STRIP=strip -s -R .comment -R .note > CFLAGS=-Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing > -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result > LDFLAGS= > LIBSUF=.a > EXESUF= > DLLSUF=.so > NATIVE_DEFINES+=-DCONFIG_TRIPLET="\"arm-linux-gnueabihf\"" > NATIVE_DEFINES+=-DTCC_CPU_VERSION=7 > ARCH=arm > TARGETOS=Linux > CONFIG_arm_eabihf=yes > CONFIG_arm_vfp=yes > CONFIG_arm_vfp=yes > VERSION = 0.9.27 > TOPSRC=$(TOP) > > This generated file is used by Makefile > Line 11: include $(TOP)/config.mak > > Then > Line 77: NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI > -DTCC_ARM_HARDFLOAT > > IMHO, ./configure does something odd around line 336 with > >if test "$cpu" = "arm" ; then > if test "${triplet%eabihf}" != "$triplet" ; then > confvars="$confvars arm_eabihf arm_vfp" > elif test "${triplet%eabi}" != "$triplet" ; then > confvars="$confvars arm_eabi" > fi > if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then > confvars="$confvars arm_vfp" > fi >fi > > > On my RPi it executes: > > if test "${triplet%eabihf}" != "$triplet" ; then > confvars="$confvars arm_eabihf arm_vfp" > > Which, then results to -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT in Makefile. > > C. > > -Original Message- > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] > On Behalf Of Barath Aron > Sent: dimanche 23 décembre 2018 13:55 > To: tinycc-devel@nongnu.org > Subject: Re: [Tinycc-devel] When is planned to be released the next version > of Tcc? > > I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not > defined. What I did was just run ./configure without any arguments and > then a "make". Maybe this provides a clue to the maintainers. > > After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now > does not crash during linking, because it now cannot compile. Weird. > > Aron > > > On 12/23/18 1:18 PM, Barath Aron wrote: >> In tccelf.c:2359, it clearly jumps to the end of the loop. >> And dies in the next loop: /* second short pass to update... */ >> >> Take this gdb fragment as an explanation: >> >> Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, >> fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) >> at tccelf.c:2357 >> 2357sh_name = (char *) strsec + sh->sh_name; >> (gdb) p i >> $21 = 6 >> (gdb) n >> 2359if (sh->sh_type != SHT_PROGBITS && >> (gdb) p *sh >> $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, >>sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign >> = 4, >>sh_entsize = 0} >> (gdb) n >> 2439next: ; >> (gdb) n >> 2354if (i == ehdr.e_shstrndx) >> (gdb) p i >> $23 = 7 >> >> 1879048193 == 0x7001 == SHT_ARM_EXIDX >> >> Aron >> >> >> On 12/23/18 11:52 AM, Daniel Glöckner wrote: >>> On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: I traced the whole object loading procedure with gdb: - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. >>> Where did tcc decide to skip ARM_EXIDX? >>> >>> ___ >>> Tinycc-devel mailing list >>> Tinycc-devel@nongnu.org >>> https://lists.nongnu.org/mailman/listinfo/tinycc-devel >> >> ___ >> Tinycc-devel mailing list >> Tinycc-devel@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > ___ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > > ___ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
What is in your triplet? Mine is empty. On 12/23/18 2:22 PM, Christian Jullien wrote: On Raspbian, running ./configure I get: jullien@sims3:~/tinycc $ more config.mak # Automatically generated by configure - do not modify prefix=/usr/local bindir=$(DESTDIR)/usr/local/bin tccdir=$(DESTDIR)/usr/local/lib/tcc libdir=$(DESTDIR)/usr/local/lib includedir=$(DESTDIR)/usr/local/include mandir=$(DESTDIR)/usr/local/share/man infodir=$(DESTDIR)/usr/local/share/info docdir=$(DESTDIR)/usr/local/share/doc CC=gcc GCC_MAJOR=6 GCC_MINOR=3 AR=ar STRIP=strip -s -R .comment -R .note CFLAGS=-Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result LDFLAGS= LIBSUF=.a EXESUF= DLLSUF=.so NATIVE_DEFINES+=-DCONFIG_TRIPLET="\"arm-linux-gnueabihf\"" NATIVE_DEFINES+=-DTCC_CPU_VERSION=7 ARCH=arm TARGETOS=Linux CONFIG_arm_eabihf=yes CONFIG_arm_vfp=yes CONFIG_arm_vfp=yes VERSION = 0.9.27 TOPSRC=$(TOP) This generated file is used by Makefile Line 11: include $(TOP)/config.mak Then Line 77: NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT IMHO, ./configure does something odd around line 336 with if test "$cpu" = "arm" ; then if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" elif test "${triplet%eabi}" != "$triplet" ; then confvars="$confvars arm_eabi" fi if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then confvars="$confvars arm_vfp" fi fi On my RPi it executes: if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" Which, then results to -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT in Makefile. C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 13:55 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not defined. What I did was just run ./configure without any arguments and then a "make". Maybe this provides a clue to the maintainers. After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now does not crash during linking, because it now cannot compile. Weird. Aron On 12/23/18 1:18 PM, Barath Aron wrote: In tccelf.c:2359, it clearly jumps to the end of the loop. And dies in the next loop: /* second short pass to update... */ Take this gdb fragment as an explanation: Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) at tccelf.c:2357 2357sh_name = (char *) strsec + sh->sh_name; (gdb) p i $21 = 6 (gdb) n 2359if (sh->sh_type != SHT_PROGBITS && (gdb) p *sh $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign = 4, sh_entsize = 0} (gdb) n 2439next: ; (gdb) n 2354if (i == ehdr.e_shstrndx) (gdb) p i $23 = 7 1879048193 == 0x7001 == SHT_ARM_EXIDX Aron On 12/23/18 11:52 AM, Daniel Glöckner wrote: On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: I traced the whole object loading procedure with gdb: - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. Where did tcc decide to skip ARM_EXIDX? ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
On Raspbian, running ./configure I get: jullien@sims3:~/tinycc $ more config.mak # Automatically generated by configure - do not modify prefix=/usr/local bindir=$(DESTDIR)/usr/local/bin tccdir=$(DESTDIR)/usr/local/lib/tcc libdir=$(DESTDIR)/usr/local/lib includedir=$(DESTDIR)/usr/local/include mandir=$(DESTDIR)/usr/local/share/man infodir=$(DESTDIR)/usr/local/share/info docdir=$(DESTDIR)/usr/local/share/doc CC=gcc GCC_MAJOR=6 GCC_MINOR=3 AR=ar STRIP=strip -s -R .comment -R .note CFLAGS=-Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result LDFLAGS= LIBSUF=.a EXESUF= DLLSUF=.so NATIVE_DEFINES+=-DCONFIG_TRIPLET="\"arm-linux-gnueabihf\"" NATIVE_DEFINES+=-DTCC_CPU_VERSION=7 ARCH=arm TARGETOS=Linux CONFIG_arm_eabihf=yes CONFIG_arm_vfp=yes CONFIG_arm_vfp=yes VERSION = 0.9.27 TOPSRC=$(TOP) This generated file is used by Makefile Line 11: include $(TOP)/config.mak Then Line 77: NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT IMHO, ./configure does something odd around line 336 with if test "$cpu" = "arm" ; then if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" elif test "${triplet%eabi}" != "$triplet" ; then confvars="$confvars arm_eabi" fi if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then confvars="$confvars arm_vfp" fi fi On my RPi it executes: if test "${triplet%eabihf}" != "$triplet" ; then confvars="$confvars arm_eabihf arm_vfp" Which, then results to -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT in Makefile. C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 13:55 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not defined. What I did was just run ./configure without any arguments and then a "make". Maybe this provides a clue to the maintainers. After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now does not crash during linking, because it now cannot compile. Weird. Aron On 12/23/18 1:18 PM, Barath Aron wrote: > In tccelf.c:2359, it clearly jumps to the end of the loop. > And dies in the next loop: /* second short pass to update... */ > > Take this gdb fragment as an explanation: > > Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, > fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) > at tccelf.c:2357 > 2357sh_name = (char *) strsec + sh->sh_name; > (gdb) p i > $21 = 6 > (gdb) n > 2359if (sh->sh_type != SHT_PROGBITS && > (gdb) p *sh > $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, > sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign > = 4, > sh_entsize = 0} > (gdb) n > 2439next: ; > (gdb) n > 2354if (i == ehdr.e_shstrndx) > (gdb) p i > $23 = 7 > > 1879048193 == 0x7001 == SHT_ARM_EXIDX > > Aron > > > On 12/23/18 11:52 AM, Daniel Glöckner wrote: >> On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: >>> I traced the whole object loading procedure with gdb: >>> - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. >> Where did tcc decide to skip ARM_EXIDX? >> >> ___ >> Tinycc-devel mailing list >> Tinycc-devel@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > > ___ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
I figured out. ARM_EXIDX was skipped because TCC_ARM_EABI was not defined. What I did was just run ./configure without any arguments and then a "make". Maybe this provides a clue to the maintainers. After hacking the defines (-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT), tcc now does not crash during linking, because it now cannot compile. Weird. Aron On 12/23/18 1:18 PM, Barath Aron wrote: In tccelf.c:2359, it clearly jumps to the end of the loop. And dies in the next loop: /* second short pass to update... */ Take this gdb fragment as an explanation: Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) at tccelf.c:2357 2357 sh_name = (char *) strsec + sh->sh_name; (gdb) p i $21 = 6 (gdb) n 2359 if (sh->sh_type != SHT_PROGBITS && (gdb) p *sh $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign = 4, sh_entsize = 0} (gdb) n 2439 next: ; (gdb) n 2354 if (i == ehdr.e_shstrndx) (gdb) p i $23 = 7 1879048193 == 0x7001 == SHT_ARM_EXIDX Aron On 12/23/18 11:52 AM, Daniel Glöckner wrote: On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: I traced the whole object loading procedure with gdb: - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. Where did tcc decide to skip ARM_EXIDX? ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
In tccelf.c:2359, it clearly jumps to the end of the loop. And dies in the next loop: /* second short pass to update... */ Take this gdb fragment as an explanation: Breakpoint 3, tcc_load_object_file (s1=0x45a098, s1@entry=0x454150, fd=4562744, fd@entry=3, file_offset=4563600, file_offset@entry=0) at tccelf.c:2357 2357 sh_name = (char *) strsec + sh->sh_name; (gdb) p i $21 = 6 (gdb) n 2359 if (sh->sh_type != SHT_PROGBITS && (gdb) p *sh $22 = {sh_name = 79, sh_type = 1879048193, sh_flags = 130, sh_addr = 0, sh_offset = 176, sh_size = 8, sh_link = 2, sh_info = 0, sh_addralign = 4, sh_entsize = 0} (gdb) n 2439 next: ; (gdb) n 2354 if (i == ehdr.e_shstrndx) (gdb) p i $23 = 7 1879048193 == 0x7001 == SHT_ARM_EXIDX Aron On 12/23/18 11:52 AM, Daniel Glöckner wrote: On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: I traced the whole object loading procedure with gdb: - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. Where did tcc decide to skip ARM_EXIDX? ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
On Sun, Dec 23, 2018 at 11:44:50AM +0100, Barath Aron wrote: > I traced the whole object loading procedure with gdb: > - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. Where did tcc decide to skip ARM_EXIDX? ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
After looking into the code, my guess is that it's garbage. I traced the whole object loading procedure with gdb: - ARM_EXIDX (section 6) is definitely not loaded, I traced it with gdb. - However, section 7 is loaded, despite of it refers to an unloaded section (in my case: section 6). Aron On 12/23/18 11:21 AM, Christian Jullien wrote: Aron, I really would love to help you but I know nothing about ELF. From your mail, I'm only able to tall that s (0x4) from: $2 = {s = 0x4, offset = 0, new_section = 45 '-', link_once = 0 '\000'} Is not a valid address to allow to take sh_num. Don't ask me why. sm_table[sh->sh_info].s->sh_num; Are you able to trace why/who set this value to 4? C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 10:23 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? Scroll back to my mail dated on 12/3/18, 5:34 PM for details of the crash. On 12/23/18 10:07 AM, Christian Jullien wrote: Ouch! I don’t know about ARCH ARM Linux, I can just say it works nicely on RPi ARM board: jullien@sims3:~ $ tcc -v tcc version 0.9.27 (ARM Hard Float Linux) jullien@sims3:~ $ uname -a Linux sims3 4.14.89-v7+ #1182 SMP Tue Dec 18 00:35:25 GMT 2018 armv7l GNU/Linux jullien@sims3:~ $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } jullien@sims3:~ $ tcc hello1.c jullien@sims3:~ $ ./a.out Hello World! This tcc version allows me to pass my Lisp compiler huge non regression test suite. From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 09:23 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? Let we argue about the "almost bug free" thing. I have a major issue with 0.9.27: $ tcc -v tcc version 0.9.27 (ARM Linux) $ uname -a Linux alarm 4.18.13-1-ARCH #1 SMP PREEMPT Thu Oct 11 02:22:56 UTC 2018 armv7l GNU/Linux $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } $ tcc hello1.c Segmentation fault (core dumped) I suppose this is not the intended behavior. Same effect with official package and with mob. (I already reported this bug, but it seems nobody cares.) Aron On 12/23/18 8:25 AM, Christian Jullien wrote: I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. What I can say however is that: - 0.9.27 released last year is damn good and almost bug free on supported platforms (I personally tested) - Since last release, tcc activity has been rather low and I see no real reasons to publish a 0.9.28 - I you want the latest version, I invite you to use mod which is also very stable. - As a general rule for a new version is that it comes out … when it’s ready M2c From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Kantor Zsolt Sent: samedi 22 décembre 2018 14:52 To: tinycc-devel@nongnu.org Subject: [Tinycc-devel] When is planned to be released the next version of Tcc? The question is in the subject. Thanks. ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Aron, I really would love to help you but I know nothing about ELF. From your mail, I'm only able to tall that s (0x4) from: $2 = {s = 0x4, offset = 0, new_section = 45 '-', link_once = 0 '\000'} Is not a valid address to allow to take sh_num. Don't ask me why. sm_table[sh->sh_info].s->sh_num; Are you able to trace why/who set this value to 4? C. -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 10:23 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? Scroll back to my mail dated on 12/3/18, 5:34 PM for details of the crash. On 12/23/18 10:07 AM, Christian Jullien wrote: > Ouch! I don’t know about ARCH ARM Linux, I can just say it works nicely on > RPi ARM board: > > jullien@sims3:~ $ tcc -v > tcc version 0.9.27 (ARM Hard Float Linux) > > jullien@sims3:~ $ uname -a > Linux sims3 4.14.89-v7+ #1182 SMP Tue Dec 18 00:35:25 GMT 2018 armv7l > GNU/Linux > > jullien@sims3:~ $ cat hello1.c > #include > > int main(int argc, char* argv[]) > { > printf("Hello World!\n"); > return 0; > } > jullien@sims3:~ $ tcc hello1.c > jullien@sims3:~ $ ./a.out > Hello World! > > This tcc version allows me to pass my Lisp compiler huge non regression test > suite. > > > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] > On Behalf Of Barath Aron > Sent: dimanche 23 décembre 2018 09:23 > To: tinycc-devel@nongnu.org > Subject: Re: [Tinycc-devel] When is planned to be released the next version > of Tcc? > > Let we argue about the "almost bug free" thing. I have a major issue with > 0.9.27: > > $ tcc -v > tcc version 0.9.27 (ARM Linux) > > $ uname -a > Linux alarm 4.18.13-1-ARCH #1 SMP PREEMPT Thu Oct 11 02:22:56 UTC 2018 armv7l > GNU/Linux > > $ cat hello1.c > #include > > int main(int argc, char* argv[]) > { > printf("Hello World!\n"); > return 0; > } > > $ tcc hello1.c > Segmentation fault (core dumped) > > I suppose this is not the intended behavior. Same effect with official > package and with mob. > (I already reported this bug, but it seems nobody cares.) > > Aron > > On 12/23/18 8:25 AM, Christian Jullien wrote: > I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. > What I can say however is that: > - 0.9.27 released last year is damn good and almost bug free on supported > platforms (I personally tested) > - Since last release, tcc activity has been rather low and I see no real > reasons to publish a 0.9.28 > - I you want the latest version, I invite you to use mod which is also very > stable. > - As a general rule for a new version is that it comes out … when it’s ready > > M2c > > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] > On Behalf Of Kantor Zsolt > Sent: samedi 22 décembre 2018 14:52 > To: tinycc-devel@nongnu.org > Subject: [Tinycc-devel] When is planned to be released the next version of > Tcc? > > The question is in the subject. > > Thanks. > > > ___ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > > > ___ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Scroll back to my mail dated on 12/3/18, 5:34 PM for details of the crash. On 12/23/18 10:07 AM, Christian Jullien wrote: Ouch! I don’t know about ARCH ARM Linux, I can just say it works nicely on RPi ARM board: jullien@sims3:~ $ tcc -v tcc version 0.9.27 (ARM Hard Float Linux) jullien@sims3:~ $ uname -a Linux sims3 4.14.89-v7+ #1182 SMP Tue Dec 18 00:35:25 GMT 2018 armv7l GNU/Linux jullien@sims3:~ $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } jullien@sims3:~ $ tcc hello1.c jullien@sims3:~ $ ./a.out Hello World! This tcc version allows me to pass my Lisp compiler huge non regression test suite. From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 09:23 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? Let we argue about the "almost bug free" thing. I have a major issue with 0.9.27: $ tcc -v tcc version 0.9.27 (ARM Linux) $ uname -a Linux alarm 4.18.13-1-ARCH #1 SMP PREEMPT Thu Oct 11 02:22:56 UTC 2018 armv7l GNU/Linux $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } $ tcc hello1.c Segmentation fault (core dumped) I suppose this is not the intended behavior. Same effect with official package and with mob. (I already reported this bug, but it seems nobody cares.) Aron On 12/23/18 8:25 AM, Christian Jullien wrote: I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. What I can say however is that: - 0.9.27 released last year is damn good and almost bug free on supported platforms (I personally tested) - Since last release, tcc activity has been rather low and I see no real reasons to publish a 0.9.28 - I you want the latest version, I invite you to use mod which is also very stable. - As a general rule for a new version is that it comes out … when it’s ready M2c From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Kantor Zsolt Sent: samedi 22 décembre 2018 14:52 To: tinycc-devel@nongnu.org Subject: [Tinycc-devel] When is planned to be released the next version of Tcc? The question is in the subject. Thanks. ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Ouch! I don’t know about ARCH ARM Linux, I can just say it works nicely on RPi ARM board: jullien@sims3:~ $ tcc -v tcc version 0.9.27 (ARM Hard Float Linux) jullien@sims3:~ $ uname -a Linux sims3 4.14.89-v7+ #1182 SMP Tue Dec 18 00:35:25 GMT 2018 armv7l GNU/Linux jullien@sims3:~ $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } jullien@sims3:~ $ tcc hello1.c jullien@sims3:~ $ ./a.out Hello World! This tcc version allows me to pass my Lisp compiler huge non regression test suite. From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Barath Aron Sent: dimanche 23 décembre 2018 09:23 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] When is planned to be released the next version of Tcc? Let we argue about the "almost bug free" thing. I have a major issue with 0.9.27: $ tcc -v tcc version 0.9.27 (ARM Linux) $ uname -a Linux alarm 4.18.13-1-ARCH #1 SMP PREEMPT Thu Oct 11 02:22:56 UTC 2018 armv7l GNU/Linux $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } $ tcc hello1.c Segmentation fault (core dumped) I suppose this is not the intended behavior. Same effect with official package and with mob. (I already reported this bug, but it seems nobody cares.) Aron On 12/23/18 8:25 AM, Christian Jullien wrote: I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. What I can say however is that: - 0.9.27 released last year is damn good and almost bug free on supported platforms (I personally tested) - Since last release, tcc activity has been rather low and I see no real reasons to publish a 0.9.28 - I you want the latest version, I invite you to use mod which is also very stable. - As a general rule for a new version is that it comes out … when it’s ready M2c From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Kantor Zsolt Sent: samedi 22 décembre 2018 14:52 To: tinycc-devel@nongnu.org Subject: [Tinycc-devel] When is planned to be released the next version of Tcc? The question is in the subject. Thanks. ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
Let we argue about the "almost bug free" thing. I have a major issue with 0.9.27: $ tcc -v tcc version 0.9.27 (ARM Linux) $ uname -a Linux alarm 4.18.13-1-ARCH #1 SMP PREEMPT Thu Oct 11 02:22:56 UTC 2018 armv7l GNU/Linux $ cat hello1.c #include int main(int argc, char* argv[]) { printf("Hello World!\n"); return 0; } $ tcc hello1.c Segmentation fault (core dumped) I suppose this is not the intended behavior. Same effect with official package and with mob. (I already reported this bug, but it seems nobody cares.) Aron On 12/23/18 8:25 AM, Christian Jullien wrote: I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. What I can say however is that: -0.9.27 released last year is damn good and almost bug free on supported platforms (I personally tested) -Since last release, tcc activity has been rather low and I see no real reasons to publish a 0.9.28 -I you want the latest version, I invite you to use mod which is also very stable. -As a general rule for a new version is that it comes out … when it’s ready M2c *From:*Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] *On Behalf Of *Kantor Zsolt *Sent:* samedi 22 décembre 2018 14:52 *To:* tinycc-devel@nongnu.org *Subject:* [Tinycc-devel] When is planned to be released the next version of Tcc? The question is in the subject. Thanks. ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel
Re: [Tinycc-devel] When is planned to be released the next version of Tcc?
I’m not the maintainer of tcc but I’ve no sign of a new version anytime soon. What I can say however is that: - 0.9.27 released last year is damn good and almost bug free on supported platforms (I personally tested) - Since last release, tcc activity has been rather low and I see no real reasons to publish a 0.9.28 - I you want the latest version, I invite you to use mod which is also very stable. - As a general rule for a new version is that it comes out … when it’s ready M2c From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Kantor Zsolt Sent: samedi 22 décembre 2018 14:52 To: tinycc-devel@nongnu.org Subject: [Tinycc-devel] When is planned to be released the next version of Tcc? The question is in the subject. Thanks. ___ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel