> On 03/03/18 02:06, matthew green wrote: > > you didn't grep enough :-) eg: > > > > dist/gcc/config/rs6000/rs6000.c: prefix = (sel & SAVRES_SAVE) ? > > "_savegpr_" : "_restgpr_"; > > > > is the part that matters. > > Just so I understand, where does this come into play from the bootxx > side, reason I ask is there is no noise in the build output. bootxx > compiles without warnings or complaint (I haven't touched the verbosity > settings). Would problems with this binary be expected on execution & > not during build?
i don't know. i didn't actually look too deeply at it, but i did recall these functions are prefix+name generated. we occasionally have to deal with this and either link against libgcc or provide them in libkern/libsa. there can be new things from newer compilers, etc., when it starts emitting new calls it expects in libgcc or other. kernels should not be using libgcc. > > i don't know you can easily test it. i would recommend > > putting the old code back for ${HAVE_GCC:U0} > 0 builds. > > Like so? the patch below needs to remove the original line :-) i'd probably implment it with eg EXTRA_OBJS= .if ${HAVE_GCC:U0} > 0 EXTRA_OBJS+= ${DESTDIR}/usr/lib/libgcc.a .endif and add ${EXTRA_OBJS} to the link line, instead of duplicating the line inside the .if. thanks! .mrg. > Index: sys/arch/macppc/stand/bootxx/Makefile > =================================================================== > RCS file: /cvsroot/src/sys/arch/macppc/stand/bootxx/Makefile,v > retrieving revision 1.18 > diff -u -p -r1.18 Makefile > --- sys/arch/macppc/stand/bootxx/Makefile 2 Mar 2018 23:15:25 > -0000 1.18 > +++ sys/arch/macppc/stand/bootxx/Makefile 3 Mar 2018 03:22:09 -0000 > @@ -23,6 +23,11 @@ CLEANFILES+= ${PROG}.sym > > ${PROG}: ${OBJS} > ${_MKTARGET_LINK} > +.if ${HAVE_GCC:U0} > 0 > + ${LD} -o ${.TARGET}.sym ${LINKFLAGS} ${OBJS} > ${DESTDIR}/usr/lib/libgcc.a > +.else > + ${LD} -o ${.TARGET}.sym ${LINKFLAGS} ${OBJS} > +.endif > ${LD} -o ${.TARGET}.sym ${LINKFLAGS} ${OBJS} > ${OBJCOPY} -O binary ${.TARGET}.sym ${.TARGET} >