potential future proofing fix for aicasm build.

Steven Hartland killing at multiplay.co.uk
Wed May 1 16:57:04 UTC 2013


I don't believe aicasm is actually needed if you don't have a driver
which requires e.g. ahd or ahc. It would be good to get that fixed too.

    Regards
    Steve

----- Original Message ----- 
From: "Alfred Perlstein" <bright at mu.org>
To: <hackers at freebsd.org>
Sent: Wednesday, May 01, 2013 5:46 PM
Subject: potential future proofing fix for aicasm build.


>
> Hey folks,
>
> I took a shot at fixing this issue with building aicasm as part of
> "buildkernel" of an older 9.0 src on a machine running HEAD.
>
> aicasm.o: In function `__getCurrentRuneLocale': >
> /usr/include/runetype.h:96: undefined reference to `_ThreadRuneLocale'
>
> The issue seems to be two-fold:
>
> 1) Paths are not fully set to pick up the bootstrap tools needed to build.
> 2) include files use the host's instead of the build trees.
>
> The first problem is fixed by changing setting of PATH from
> "${BPATH}:${PATH}" to ${TMPPATH}.
>
> The second is fixed by using -nostdinc and setting strict include paths
> using -I directives to the compiler:
>
> CFLAGS="-nostdinc -I${WORLDTMP}/usr/include -I. -I${KERNSRCDIR}/dev/aic7xxx/aicasm"
>
>
>
> Can I get review on this patch?
>
> https://gist.github.com/anonymous/5493734
>
> Inline:
>
> diff --git a/Makefile.inc1 b/Makefile.inc1
> index e850cda..785e3180 100644
> --- a/Makefile.inc1
> +++ b/Makefile.inc1
> @@ -830,17 +830,18 @@ buildkernel:
>          @echo ">>> stage 2.3: build tools"
>          @echo "--------------------------------------------------------------"
>          cd ${KRNLOBJDIR}/${_kernel}; \
> -           PATH=${BPATH}:${PATH} \
> +           PATH=${TMPPATH} \
>              MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
> -           ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \
> +           ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF 
> CFLAGS="-nostdinc -I${WORLDTMP}/usr/include -I. -I${KERNSRCDIR}/dev/aic7xxx/aicasm" \
>              -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
>   # XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
>   .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
>   .for target in obj depend all
> +       @echo "---- aicasm: ${target} ----"
>          cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
> -           PATH=${BPATH}:${PATH} \
> +           PATH=${TMPPATH} \
>              MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
> -           ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF ${target}
> +           ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF 
> CFLAGS="-nostdinc -I${WORLDTMP}/usr/include -I. -I${KERNSRCDIR}/dev/aic7xxx/aicasm" ${target}
>   .endfor
>   .endif
>   .if !defined(NO_KERNELDEPEND)
>
>
>
>
>
>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> 


================================================
This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. 

In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337
or return the E.mail to postmaster at multiplay.co.uk.



More information about the freebsd-hackers mailing list