Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: CVS commit: src/sys/arch/macppc/stand/bootxx



> 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}
> 


Home | Main Index | Thread Index | Old Index