bug-mes
[Top][All Lists]
Advanced

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

Re: releasing v0.23?


From: Jan Nieuwenhuizen
Subject: Re: releasing v0.23?
Date: Sun, 10 Jan 2021 22:03:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Danny Milosavljevic writes:

Hi Danny,

> On Sun, 10 Jan 2021 16:51:04 +0100
> Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>
>> Apparently, when compiling glibc-2.2.5, cpp0 attempts a divide-by-zero.
>> Running
>> /gnu/store/8kxznsfcv3sr3l7d68w5580gigjpkqzg-gcc-core-mesboot0-2.95.3/lib/gcc-lib/arm-unknown-linux-gnu/2.95.3/cpp0
>> in gdb shows __mes_uldiv, __mes_div0 on the stack.
>
>> I have parked this for now, and found another problem; this snippet
>
> Uhhh really?  But why?  That sounds like something it shouldn't be doing--and
> probably isn't doing in the normal version.
>
> I mean we can look at that later on--but what is going on...

Yes, of course -- I don't know, I probably felt this was probably a
symptom of something and opted to stumble along...

>> So we're even beyond tcc-boot now and still find problems.  What's the
>> chance this is Mes/Mes C Lib related?  
>
> I don't know.

;-)

>>Do you want to help look into this/fix this before 0.23?
>
> Sure, why not.
>
> https://gcc.gnu.org/legacy-ml/gcc-patches/1999-07n/msg00013.html has
> some "more specific" messages for the out of range thing.
>
> Just tell me when you have time and we can collaborate on jitsi for
> example.

Sure, great!

> Also, maybe try some parts of it, like this:
>
> #if (1 << 1) == 0
> #warning yes
> #endif
>
> #if (0 >= (1 << 10))
> #error gcc too new
> #endif
>
> I just did that on novena, with your gcc [1], and I get:
>
> a.c:3: warning: #warning yes
> a.c:6: warning: integer constant out of range
> a.c:7: #error gcc too new
>
> So the left shift operator is broken.
>
> #if (2 >> 1) == 0
> #warning yes
> #endif
>
> Right shift operator is broken too.
>
> Multiplication works normally in that preprocessor.
> Division doesn't work (4 / 2 < 0 is true; however:
>
> #if (4 / 0) < 0
> #warning yes
> #endif
>
> a.c:2: division by zero in #if
> a.c:3: warning: #warning yes

Oh, this is great...so I guess we need to look at how the preprocessor
does this arithmetic stuff...<later>...oops, (dont) have a look at
"gcc-boot-2.95.3-arm.patch".  I forgot about that...it comments out
arithmetic functions because they didn't compile before.  Time to remove
that patch and see if this isn't the cause; it may well be.  Feeling
real silly now ;-)

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com



reply via email to

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