On Fri, Aug 11, 2017 at 05:29:23PM -0400, Jeremie Courreges-Anglas wrote:
> On Fri, Aug 11 2017, Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote:
> > On Fri, Aug 11 2017, Christian Weisgerber <na...@mips.inka.de> wrote:
> >> On 2017-08-10, Jeremie Courreges-Anglas <j...@wxcvbn.org> 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
> 

Reply via email to