On Fri, Aug 11, 2017 at 05:29:23PM -0400, Jeremie Courreges-Anglas wrote:
> On Fri, Aug 11 2017, Jeremie Courreges-Anglas <[email protected]> wrote:
> > On Fri, Aug 11 2017, Christian Weisgerber <[email protected]> wrote:
> >> On 2017-08-10, Jeremie Courreges-Anglas <[email protected]> wrote:
> >>
> >>> +# XXX base gcc
> >>> +CC= /usr/bin/gcc
> >
> > Thanks for the test reports, which confirm that I'm the only one unable
> > to run memtest86+ on my machines...
> >
> >> That isn't a solution.
> >
> > It is a solution, just not a long-term one. ;)
> >
> > So here's a diff I just cooked up (I don't know where I've put the
> > previous version...). While here, respect CC. Note that as(1) is still
> > used once, which could be a problem on a clang-only box.
> >
> > Tests welcome.
>
> So with this diff memtest86+ doesn't work any more on naddy's x230
> (it did with /usr/bin/gcc). Using gcc from ports doesn't help.
>
I was trying just now to take a look at why it fails (since I also have
an x230) but it doesn't even build for me with clang at all:
cc -c -O2 -pipe -Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC -fno-stack-protector -fno-pie -fno-strict-aliasing reloc.c
reloc.c:50:10: warning: variable 'got' is uninitialized when used here
[-Wuninitialized]
return *got;
^~~
reloc.c:49:26: note: initialize the variable 'got' to silence this warning
register Elf32_Addr *got asm ("%ebx");
^
= NULL
1 warning generated.
cc -O2 -pipe -Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC -fno-stack-protector -fno-pie -c -o main.o main.c
main.c:115:7: warning: passing 'volatile ulong *' (aka 'volatile unsigned long
*') to parameter of type 'const void *' discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
goto *p;
^~
main.c:115:2: error: indirect goto in function with no address-of-label
expressions
goto *p;
^
1 warning and 1 error generated.
gmake: *** [<builtin>: main.o] Error 1
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2705
'/usr/ports/pobj/memtest86+-4.20/.build_done')
*** Error 1 in /usr/ports/sysutils/memtest86+
(/usr/ports/infrastructure/mk/bsd.port.mk:2408 'all')
If someone can give me a clue why, I can see if I can debug it further.
-ml
> We have several options:
> - mark it broken
> - force the use of /usr/bin/gcc, which obviously work work any more when
> we unlink gcc on i386/amd64.
> - build a binary snapshot with /usr/bin/gcc and then just use that
> binary snapshot as a distfile. After all, these are standalone
> programs.
>
> Marking it BROKEN would be a shame, memtest86+ is a useful tool. As
> discussed with naddy I don't know yet which solution we'll choose in the
> end, opinions welcome.
>
> --
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
>