[Tinycc-devel] [PATCH v2] arm-asm: Add vcvt

2021-02-11 Thread Danny Milosavljevic
--- arm-asm.c | 141 - arm-tok.h | 36 ++ tests/arm-asm-testsuite.sh | 4 +- 3 files changed, 177 insertions(+), 4 deletions(-) diff --git a/arm-asm.c b/arm-asm.c index 95d02e6..314ce5c 100644 --- a/arm-asm.c +++ b/a

[Tinycc-devel] [PATCH] arm-asm: Add vcvt

2021-02-11 Thread Danny Milosavljevic
--- arm-asm.c | 136 - arm-tok.h | 36 ++ tests/arm-asm-testsuite.sh | 4 +- 3 files changed, 172 insertions(+), 4 deletions(-) diff --git a/arm-asm.c b/arm-asm.c index 95d02e6..2bd5046 100644 --- a/arm-asm.c +++ b/a

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Ayush Varshney
> Wouldn't a better solution be to change tcc to clear the padding bytes, > which would also help it reproducibly build other software? I do not know as I haven't tried it, but it might be a good direction. On Thu, Feb 11, 2021 at 10:48 PM Elijah Stone wrote: > On Thu, 11 Feb 2021, Ayush Varshn

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Elijah Stone
On Thu, 11 Feb 2021, Ayush Varshney wrote: What I wanted to discuss was in terms of reproducibility of tcc compiler *snip* The problem is that tcc’s “long double” uses only 10 bytes, but it is stored in 12 bytes, and tcc’s source code does not initialize the extra 2 bytes Wouldn't a better

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Ayush Varshney
Hello guys, I am sorry for the late response, my health hasn't been very good today. What I wanted to discuss was in terms of reproducibility of tcc compiler, We know that we should focus more on reproducible builds, and even more so; security of reproducible builds can be of great importance. [1]

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Kyryl Melekhin
"Christian Jullien" wrote: > No, I think he probably meant (1F-1F) to get 0.0F value? Looking at the general context I think it should be else if (vtop->c.ld == (vtop->c.ld - vtop->c.ld)) instead. But as for my opinion I also think it's unnecessary and should be reverted.

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Vincent Lefevre
On 2021-02-11 13:49:48 +0100, Christian Jullien wrote: > No, I think he probably meant (1F-1F) to get 0.0F value? In the other function, f1 is a variable. I don't see why (1F-1F) would be used: 0.0F would be simpler, and even that, there should be no difference with 0.0, because the zero is conver

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Christian Jullien
No, I think he probably meant (1F-1F) to get 0.0F value? -Original Message- From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of Kyryl Melekhin Sent: Thursday, February 11, 2021 08:36 To: tinycc-devel@nongnu.org Subject: Re: [Tinycc-devel] Regarding Lo

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Kyryl Melekhin
Ayush Varshney wrote: > Hi everyone, > Hope you all are doing well!! > I am new to the tinycc community. > I was working over Diverse Double-compiling technique [1]. And found there > is a bad optimization performed by tcc. The problem is called Long double > constant problem. > > *Long double co

[Tinycc-devel] AddressSanitizer: heap-buffer-overflow

2021-02-11 Thread Zhuo Zhang
A heap-buffer overflow occurs in commit fbef90a7039b994907db34fde50f6fa5e46ab535 (ASAN on). System info: ubuntu 18.04, x86-64 $ cat poc.c a() { int b; asm("" : : ""(b == 0), ""(b)); } $ ./tcc poc.c = ==33065==ERROR: AddressSan

Re: [Tinycc-devel] Assertion Failed

2021-02-11 Thread Vincent Lefevre
On 2021-02-11 11:58:52 +, Zhuo Zhang wrote: > I use tcc at commit fbef90a7039b994907db34fde50f6fa5e46ab535, > because I cannot successfully compile tcc with the newest commit. 405aef9155fb66e280dac82ce521d5d2ea06f2ab should be reverted. It is definitely wrong. -- Vincent Lefèvre - Web:

[Tinycc-devel] AddressSanitizer: global-buffer-overflow

2021-02-11 Thread Zhuo Zhang
A global-buffer overflow occurs in commit fbef90a7039b994907db34fde50f6fa5e46ab535 (ASAN on). System info: ubuntu 18.04, x86-64 Without ASAN, tcc will encounter a segment fault due to this overflow. $ cat poc.c a() { int b; c(b && (void)b); } $ ./tcc -c poc.c poc.c:3: warning: implicit dec

[Tinycc-devel] Assertion Failed

2021-02-11 Thread Zhuo Zhang
Hi, I find there is an assertion failure in current tcc code. $ cat poc.c int a = b(c() * 1e678); $ ./tcc -c poc.c test.c:1: warning: implicit declaration of function 'b' test.c:1: warning: implicit declaration of function 'c' tcc: x86_64-gen.c:530: load: Assertion `(v >= TREG_XMM0) && (v <= TR

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Vincent Lefevre
On 2021-02-11 09:27:30 +0100, Ayush Varshney wrote: > *Long double constant problem* is for storing the value of 0.0, tcc > stores 0.0 in memory as long double value but long double value in > tcc takes only 10 bytes but the source code stores 0.0 value in 12 > bytes. The extra two bytes creates v

Re: [Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Ayush Varshney
[1] https://www.researchgate.net/publication/245578769_Fully_Countering_Trusting_Trust_through_Diverse_Double-Compiling On Thu, Feb 11, 2021 at 9:27 AM Ayush Varshney wrote: > Hi everyone, > Hope you all are doing well!! > I am new to the tinycc community. > I was working over Diverse Double-com

[Tinycc-devel] Regarding Long double Constant

2021-02-11 Thread Ayush Varshney
Hi everyone, Hope you all are doing well!! I am new to the tinycc community. I was working over Diverse Double-compiling technique [1]. And found there is a bad optimization performed by tcc. The problem is called Long double constant problem. *Long double constant problem* is for storing the valu