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 <[EMAIL PROTECTED]> 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 >
