[email protected] (Joerg Schilling) wrote:

> [email protected] (Joerg Schilling) wrote:
>
> > After a long time, I tried again to load/run an own Solaris driver and
> > failed with the following messages:
> >
> > Sep 17 15:24:44 opt genunix: [ID 286029 kern.notice] relocation error: 
> > R_AMD64_32: 
> > Sep 17 15:24:44 opt genunix: [ID 720415 kern.notice] file 
> > /kernel/drv/amd64/scg: 
> > Sep 17 15:24:44 opt genunix: [ID 370954 kern.notice] symbol : 
>
> I found the solution. It works after adding -fPIC. But why is there no problem
> with the solaris drivers?

Mmm this still was not the right solution as the kernel linker now linked the
variable "scsi_options" which is physically in genunix at 0xfffffffffbc8a1f0
to address 0xfffffffff3b2733b inside my driver. As mentioned, the real location 
of 
scsi_options is 0xfffffffffbc8a1f0

I I checked correctly, this seems to be nowhere in the kernel mappings:

            BASE            LIMIT             SIZE NAME
fffffe0000000000 fffffe0118000000        118000000 kpmseg
ffffff0000000000 ffffff0007a00000          7a00000 kvalloc
ffffff0007a00000 ffffff0087a00000         80000000 kpseg
ffffff0087a00000 ffffff0187200000         ff800000 kzioseg
ffffff01c7200000 ffffff01cb200000          4000000 kmapseg
ffffff01cb200000 ffffffffc0000000       fdf4e00000 kvseg
ffffffffc0000000 fffffffffb7fb000         3b7fb000 kvseg_core
fffffffffb800000 fffffffffbd31000           531000 ktextseg
ffffffffff800000 ffffffffffc00000           400000 kdebugseg

Jörg

-- 
 EMail:[email protected] (home) Jörg Schilling D-13353 Berlin
       [email protected]                (uni)  
       [email protected] (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to