error in creating amd64 port rtld modules

Noah yan noah.yan at gmail.com
Fri Aug 31 06:24:40 PDT 2007


thanks Joerg, you are right. I checked with freebsd kmod.mk, amd64
module linking is special. After merged it in dfly, it is something
like this, i.e. use objcopy to create the rtld module:

ld  -r -d -o scsi_low.ko.debug scsi_low.o scsi_low_pisa.o
awk -f /home/yanyh/gitscm/dragonfly.cvs2git/sys/bus/cam/scsi/../../../conf/kmod_syms.awk
scsi_low.ko.debug  export_syms | xargs -J% objcopy % scsi_low.ko.debug
objcopy --only-keep-debug scsi_low.ko.debug scsi_low.ko.symbols
objcopy --strip-debug --add-gnu-debuglink=scsi_low.ko.symbols
scsi_low.ko.debug scsi_low.ko

Noah


On 8/31/07, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:
> On Fri, Aug 31, 2007 at 11:47:37AM +0200, Simon 'corecode' Schubert wrote:
> >> Text relocations in fully linked object files are not allowed for AMD64.
> >> I think FreeBSD switched to partially linked binaries for the very same
> >> reason.
> >
> > I guess you mean "fully linked shared object files"?
>
> Yeah, mostly.
>
> > What are partially linked object files?  How do you produce them?
>
> ld -r.
>
> Joerg
>





More information about the Kernel mailing list