On Wed, 2 Jan 2019 18:59:30 +0100
Charlene Wendling wrote:

> On Wed, 02 Jan 2019 17:52:25 +0100
> Jeremie Courreges-Anglas wrote:
> 
> > On Wed, Jan 02 2019, George Koehler <kern...@gmail.com> wrote:
> > > On Mon, 31 Dec 2018 14:26:10 +0100
> > > Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote:
> > >
> > >> If you remove CFLAGS/CXXFLAGS = -mlongcall and restart the build
> > >> from scratch, are clang and friends properly linked?  Do you get
> > >> a working llvm package?
> > >
> > > This actually worked!  I cleaned the build, removed the
> > > -mlongcall, and built llvm with gcc 6.5.0.  The build of llvm
> > > took about 28 hours 40 minutes with my PowerBook G4 at half speed
> > > = 666 MHz. (gcc had taken about 28 h 30 m.)  The removal of
> > > -mlongcall also removed most or all compiler warnings from the
> > > log.  The build succeeded.  I can now use clang++ to compile and
> > > run a simple C++ program.
> > 
> > Cool.  Now if someone with a powerpc box could also try building
> > llvm with gcc-4.9 and the diff below, that would be great.
> > (REVISION bump not included.)
> 
> Hi,
> 
> I'm building it with your diff at the moment. 
> 
> Charlène. 

Hi,

Good news, the build is successful: https://transfer.sh/h0hB0/llvm.log

Charlène. 

 
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/devel/llvm/Makefile,v
> > retrieving revision 1.202
> > diff -u -p -r1.202 Makefile
> > --- Makefile        15 Dec 2018 15:21:48 -0000      1.202
> > +++ Makefile        2 Jan 2019 16:51:19 -0000
> > @@ -83,8 +83,6 @@ CONFIGURE_ARGS =  -DLLVM_ENABLE_FFI:Bool=
> >  
> >  # Workaround relocation overflow
> >  .if ${MACHINE_ARCH} == "powerpc"
> > -CFLAGS +=          -mlongcall
> > -CXXFLAGS +=                -mlongcall
> >  # As a workaround for the size only build the PowerPC backend
> >  CONFIGURE_ARGS +=  -DLLVM_TARGETS_TO_BUILD="PowerPC"
> >  .elif ${MACHINE_ARCH} == "arm"
> > 
> > 
> > > I used the below diff in devel/llvm/Makefile.  I also used
> > > gcc-6-2.diff from my earlier mail to switch ports-gcc to
> > > lang/gcc/6.
> > >
> > > (Pascal Stumpf recently posted lang/gcc/8, but I'm keeping 6.5.0
> > > for now because I want to try building other packages.)
> > >
> > > Now that I can run clang++, I can show the dependency problem from
> > > my mail "Re: powerpc bulk build report" to ports [1]:
> > >
> > > ghostborough$ cat
> > > loopy.cpp                                                    
> > > #include <functional>
> > >
> > > struct Thing {
> > >         int get() const { return 0; }
> > > };
> > >
> > > int f(Thing t) {
> > >         return std::mem_fn(&Thing::get)(t);
> > > }
> > > ghostborough$ clang++ -c
> > > loopy.cpp ghostborough$ doas pkg_delete g++
> > > doas (kern...@ghostborough.my.domain) password: 
> > > g++-6.5.0p0: ok
> > > Read shared items: ok
> > > ghostborough$ clang++ -c
> > > loopy.cpp loopy.cpp:8:14: error: no member named 'mem_fn' in
> > > namespace 'std' return std::mem_fn(&Thing::get)(t);
> > >                ~~~~~^
> > > 1 error generated.
> > >
> > > clang++ in the llvm package uses the headers from the g++ package,
> > > but llvm has no dependency on g++.  After I pkg_delete g++, then
> > > clang++ seems to find the old headers from base-gcc, but those
> > > headers don't have C++11 features like std::mem_fn.
> > 
> > Noted, I'll take a look.
> > 
> > > [1] https://marc.info/?l=openbsd-ports&m=154629731512667&w=2
> > >
> > > Index: Makefile
> > > ===================================================================
> > > RCS file: /cvs/ports/devel/llvm/Makefile,v
> > > retrieving revision 1.202
> > > diff -u -p -r1.202 Makefile
> > > --- Makefile      15 Dec 2018 15:21:48 -0000      1.202
> > > +++ Makefile      31 Dec 2018 19:26:26 -0000
> > > @@ -83,8 +83,8 @@ CONFIGURE_ARGS =        -DLLVM_ENABLE_FFI:Bool=
> > >  
> > >  # Workaround relocation overflow
> > >  .if ${MACHINE_ARCH} == "powerpc"
> > > -CFLAGS +=                -mlongcall
> > > -CXXFLAGS +=              -mlongcall
> > > +#CFLAGS +=               -mlongcall
> > > +#CXXFLAGS +=             -mlongcall
> > >  # As a workaround for the size only build the PowerPC backend
> > >  CONFIGURE_ARGS +=        -DLLVM_TARGETS_TO_BUILD="PowerPC"
> > >  .elif ${MACHINE_ARCH} == "arm"
> > > @@ -101,7 +101,7 @@ PKG_ARGS +=           -Dpowerpc=0
> > >  TEST_TARGET =            check
> > >  
> > >  # XXX sync
> > > -GCC_VER =                4.9.4
> > > +GCC_VER =                6.5.0
> > >  .if ${MACHINE_ARCH} == "amd64"
> > >  GCC_CONFIG =             x86_64-unknown-openbsd${OSREV}
> > >  .else
> > 
> > -- 
> > jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE
> > 1524 E7EE
> > 
> 

Reply via email to