[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