Date: Tue, 29 Dec 1998 14:16:16 +1030 From: Greg Lehey <grog@lemis.com> To: Peter Wemm <peter@netplex.com.au> Cc: Doug Rabson <dfr@nlsystems.com>, FreeBSD current users <FreeBSD-current@FreeBSD.ORG> Subject: Re: How do I build an a.out kld? Message-ID: <19981229141616.C32696@freebie.lemis.com> In-Reply-To: <199812290334.LAA70186@spinner.netplex.com.au>; from Peter Wemm on Tue, Dec 29, 1998 at 11:34:54AM %2B0800 References: <19981229100025.K12346@freebie.lemis.com> <199812290334.LAA70186@spinner.netplex.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, 29 December 1998 at 11:34:54 +0800, Peter Wemm wrote:
> Greg Lehey wrote:
>> On Monday, 28 December 1998 at 19:44:59 +0800, Peter Wemm wrote:
>>> Doug Rabson wrote:
>>>> On Mon, 28 Dec 1998, Greg Lehey wrote:
>>> [..]
>>>>> 2. I could build an a.out kld. Unfortunately, there's an
>>>>> (undocumented) program called gensetdefs which runs against the
>>>>> objects, and expects only ELF files. It doesn't understand an
>>>>> -aout flag. Can I get past this problem?
>>>>
>>>> Are you using bsd.kmod.mk? If you look at it, gensetdefs is only used for
>>>> elf. Linking an a.out module is even simpler:
>>>>
>>>> ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${OBJS} ${KMODDEPS}
>>>>
>>>> Try 'make OBJFORMAT=aout' and see what happens.
>>>
>>> Err, my recollection was that it needed to be in the environment, ie more
>>> like: env OBJFORMAT=aout make
>>
>> Neither of these answer the original question: how to I get gensetdefs
>> to work on a.out objects?
>
> You shouldn't.. It's elf-only by design - it's an emulation for linker
> sets that the a.out ld did.
>
> bsd.kmod.mk should be handling all this for you already:
>
> .if defined(KLDMOD)
> .if ${OBJFORMAT} == elf
> gensetdefs ${OBJS}
> ${CC} ${CFLAGS} -c setdef0.c
> ${CC} ${CFLAGS} -c setdef1.c
> ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} setdef0.o ${OBJS} setdef1.o
> ${KMODDEPS}
> .else
> ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${OBJS} ${KMODDEPS}
> .endif
> .else
> ${LD} -r ${LDFLAGS:N-static} -o tmp.o ${OBJS}
> [..]
Well, something didn't work, but it's not important, since I've now
moved to ELF (and almost have things working).
Greg
--
See complete headers for address, home page and phone numbers
finger grog@lemis.com for PGP public key
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981229141616.C32696>
