svn commit: r335880 - in head/sys: conf kern

Bryan Drewery bdrewery at FreeBSD.org
Tue Jul 3 18:23:07 UTC 2018


On 7/3/2018 11:21 AM, Matthew Macy wrote:
> What is the "correct" way to make sure that offset.inc is visible to modules?
> 

Can you answer my question though? Was it a mistake or are you intending
there to be a machine-specific genoffset.c?

> On Tue, Jul 3, 2018 at 10:39 AM, Bryan Drewery <bdrewery at freebsd.org> wrote:
>> On 7/2/2018 7:50 PM, Matt Macy wrote:
>>> Author: mmacy
>>> Date: Tue Jul  3 02:50:07 2018
>>> New Revision: 335880
>>> URL: https://svnweb.freebsd.org/changeset/base/335880
>>>
>>> Log:
>>>   expose thread_lite definition to tied modules
>>>
>>> Modified:
>>>   head/sys/conf/kmod.mk
>>>   head/sys/kern/genoffset.sh
>>>
>>> Modified: head/sys/conf/kmod.mk
>>> ==============================================================================
>>> --- head/sys/conf/kmod.mk     Tue Jul  3 01:55:09 2018        (r335879)
>>> +++ head/sys/conf/kmod.mk     Tue Jul  3 02:50:07 2018        (r335880)
>>> @@ -463,9 +463,10 @@ acpi_quirks.h: ${SYSDIR}/tools/acpi_quirks2h.awk ${SYS
>>>  .endif
>>>
>>>  .if !empty(SRCS:Massym.inc) || !empty(DPSRCS:Massym.inc)
>>> -CLEANFILES+= assym.inc genassym.o
>>> -DEPENDOBJS+= genassym.o
>>> +CLEANFILES+= assym.inc genassym.o genoffset.o
>>> +DEPENDOBJS+= genassym.o genoffset.o
>>>  assym.inc: genassym.o
>>> +offset.inc: genoffset.o
>>>  .if defined(KERNBUILDDIR)
>>>  genassym.o: opt_global.h
>>>  .endif
>>> @@ -475,6 +476,12 @@ genassym.o: ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
>>>  genassym.o: ${SRCS:Mopt_*.h}
>>>       ${CC} -c ${CFLAGS:N-flto:N-fno-common} \
>>>           ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
>>> +offset.inc: ${SYSDIR}/kern/genoffset.sh genoffset.o
>>> +     sh ${SYSDIR}/kern/genoffset.sh genoffset.o > ${.TARGET}
>>> +genoffset.o: ${SYSDIR}/${MACHINE}/${MACHINE}/genoffset.c
>>> +genoffset.o: ${SRCS:Mopt_*.h}
>>> +     ${CC} -c ${CFLAGS:N-flto:N-fno-common} \
>>> +         ${SYSDIR}/${MACHINE}/${MACHINE}/genoffset.c
>>
>> Why is this using machine-specific genoffset.c but kern.post.mk uses the
>> global genoffset.c?
>>
>> And what even generates the machine-specific genoffset.c file? I see no
>> rule for it anywhere.
>>
>>>  .endif
>>>
>>>  .if defined(KERNBUILDDIR)
>>>
>>> Modified: head/sys/kern/genoffset.sh
>>> ==============================================================================
>>> --- head/sys/kern/genoffset.sh        Tue Jul  3 01:55:09 2018        (r335879)
>>> +++ head/sys/kern/genoffset.sh        Tue Jul  3 02:50:07 2018        (r335880)
>>> @@ -39,7 +39,7 @@ work()
>>>  {
>>>       echo "#ifndef _OFFSET_INC_"
>>>       echo "#define _OFFSET_INC_"
>>> -     echo "#if !defined(GENOFFSET) && !defined(KLD_MODULE)"
>>> +     echo "#if !defined(GENOFFSET) && (!defined(KLD_MODULE) || defined(KLD_TIED))"
>>>       ${NM:='nm'} ${NMFLAGS} "$1" | ${AWK:='awk'} '
>>>       / C .*_datatype_*/ {
>>>               type = substr($3, match($3, "_datatype_") + length("_datatype_"))
>>>
>>
>>
>> --
>> Regards,
>> Bryan Drewery
>>


-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20180703/657822a3/attachment.sig>


More information about the svn-src-head mailing list