[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [WIP v3] Introduce mescc.a for division algorithm and move the latte
From: |
Jan Nieuwenhuizen |
Subject: |
Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there. |
Date: |
Fri, 29 May 2020 15:44:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Danny Milosavljevic writes:
Hello Danny!
> with WIP v3 I get on armhf:
>
> (1) gcc-lib
>
> Failed tests:
>
>>lib/tests/scaffold/7l-struct-any-size-array-simple.c
>>lib/tests/scaffold/7r-sign-extend.c
Hmm...interesting?
> (2) mescc-lib
>
> # XFAIL:
>
>>lib/tests/scaffold/17-compare-unsigned-short-le.c: XFAIL
>> lib/tests/scaffold/17-compare-unsigned-short-le.c (exit status: 1)
>>lib/tests/scaffold/72-typedef-struct-def-local.c: XFAIL
>> lib/tests/scaffold/72-typedef-struct-def-local.c (exit status: 1)
>>lib/tests/scaffold/17-compare-unsigned-char-le.c: XFAIL
>> lib/tests/scaffold/17-compare-unsigned-char-le.c (exit status: 1)
>>lib/tests/scaffold/66-local-char-array.c: XFAIL
>>lib/tests/scaffold/66-local-char-array.c (exit status: 1)
(yes, could be "OK")
> # Real ones:
>
>>lib/tests/scaffold/63-struct-cell.c: Timeout
>
> [...]
> t: (functionx) () == foo
> t: foo
> t: foo
> t: foo
> t: foo
> t: foo
> [...]
...so this puzzle remains, right? Yeah, some assembly things really
require digging into as I'm sure you're all to familiar with.
>>lib/tests/scaffold/7u-struct-func.c: FAIL lib/tests/scaffold/7u-struct-func.c
>>(exit status: 1)
>
> exit status 1 probably means that f.func (2) != 1;
Yes, probably :-) Looks somewhat similar to 63-struct-cell; function
pointers in structs; could be related. This one looks simpler, it's
unfortunate that 63-struct-cell comes first.
I guess many of these tests were written from actual cases that failed;
6x-* being Mes code, 7x- happened to be tcc code. It would be nice to
move towards more functional tests, instead...oh well...
>>lib/tests/scaffold/44-switch.c: FAIL lib/tests/scaffold/44-switch.c (exit
>>status: 11)
>
> t: switch 0
> TCHAR
> 0
> t: switch 1
> 1
> 5..1, -1
> t: switch -1
> default
> default
> $ echo $?
> 11
Oh...what a difficult test.
>>lib/tests/stdlib/80-qsort-dupes.c: test-c.sh line 71: 6121 Segmentation fault
>
> ls:
> Segmentation fault (core dumped)
qsort...that doesn't surprise me. There's a silly switch in
lib/stdlib/qsort.c:
#if 1 //__x86_64__
...
>>lib/tests/stdlib/80-qsort.c: test-c.sh line 71: 5920 Segmentation fault
[..]
>>lib/tests/setjmp/80-setjmp.c: test-c.sh line 71: 5490 Segmentation fault
>
> second
> Segmentation fault (core dumped)
>
> And that's *after* I implemented setjmp :P
Oh! Hehe.
> I guess that one doesn't work yet...
>
> Also, on i686-linux with patch applied:
>
> $ guix build -K -s i686-linux -f guix.scm
> /gnu/store/3ry6gxn6s5nzjnbs7vlf2q2zvz9zx5ql-mes.git-0.22-0.834e97d
Beautiful!
> I'd say the patch WIP v3 "Introduce mescc.a for division algorithm and
> move the latter there" makes things a lot better and we can use it for
> real.
Yes, great work!
> Note that I didn't test the Hurd (and it probably won't work because
> we don't implement a __raise function for it).
Yes, I'd be happy to look into that later. As long as it lives on a
wip-* branch (feel free to push to plain "wip" too!) we can always
decide to squash/amend/rewrite that commit witt Hurd support -- or
fix it in a separate commit.
Great work, thank you!!!
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
- Re: libc-mini.a or libmes-builtins.a should also include integer division algorithm ?, (continued)
- Re: libc-mini.a should also include integer division algorithm, Jan Nieuwenhuizen, 2020/05/28
- Re: libc-mini.a should also include integer division algorithm, Danny Milosavljevic, 2020/05/28
- Re: libc-mini.a should also include integer division algorithm, Jan Nieuwenhuizen, 2020/05/28
- Re: libc-mini.a should also include integer division algorithm, Danny Milosavljevic, 2020/05/28
- [WIP wip-arm] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/28
- [WIP v2] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/28
- [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/28
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/29
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there.,
Jan Nieuwenhuizen <=
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/29
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Jan Nieuwenhuizen, 2020/05/29
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Danny Milosavljevic, 2020/05/29
- Re: [WIP v3] Introduce mescc.a for division algorithm and move the latter there., Jan Nieuwenhuizen, 2020/05/29