This did not work either...

        /bin/gcc     -L/vob/signalware/Master/library \
   -fno-builtin -DOMNI_UNIX -D_KERNEL -DMP_SSRV4  -DAMD64_ARCH -DSOL10 \
   -I/vob/common/src -I/vob/signalware/../common/src  \
   -I. -I.. -I/vob/signalware//Master/Ft/inc
-I/vob/signalware//Master/Ft/inc \
   -I/vob/signalware//Master/cust_inc -I/vob/signalware//Master/cust_inc
\
   -I/vob/signalware//Master/priv_inc -I/vob/signalware//Master/priv_inc
\
   -I../../../../libulcm/inc -I../../include -I/usr/X/include \
   -Wall -std=gnu99 -O   -DAMD64_ARCH  -o mr_mdb.so mr_mdb.c  \
   -m64 -fPIC -D_KERNEL  -Xlinker "-G" 

# uname -a
SunOS wally 5.10 Generic_137112-07 i86pc i386 i86pc
# 
# mdb -k
Loading modules: [ unix krtld genunix specfs dtrace cpu.generic
cpu_ms.AuthenticAMD.15 uppc pcplusmp ufs mpt ip hook neti sctp arp usba
fcp fctl nca lofs md cpc random crypto zfs fcip logindmux ptm sppp nfs
ipc ]
> ::load ./mr_mdb.so
mdb: ld.so.1: mdb: fatal: relocation error: R_AMD64_PC32: file
./mr_mdb.so: symbol main: value 0x28001df99e4 does not fit
> $q


-----Original Message-----
From: Dmitry.Samersoff at Sun.COM [mailto:dmitry.samers...@sun.com] 
Sent: Thursday, February 19, 2009 5:08 PM
To: William Reich
Cc: mdb-discuss at opensolaris.org; Richmond Tuttle
Subject: Re: mdb dmod - compile with gcc on x86 ?

William,

You definitely don't need -G key for compiler and probably don't need
-mcmodel in this case.

So try:
-m64 -fPIC -Xlinker "-G" -D_KERNEL


William Reich wrote:
>  we use gcc on sparc as well.
> This mdb module compiles and works fine with gcc & sparc.
> 
> When I add -shared on the x86 platform, I get...
> 
>      /bin/gcc     -L/vob/signalware/Master/library -m64 -fno-builtin
> -DOMNI_UNIX -D_KERNEL -DMP_SSRV4  -DAMD64_ARCH -DSOL10
-I/vob/common/src
> -I/vob/signalware/../common/src   -I. -I..
> -I/vob/signalware//Master/Ft/inc -I/vob/signalware//Master/Ft/inc 
> -I/vob/signalware//Master/cust_inc -I/vob/signalware//Master/cust_inc
> -I/vob/signalware//Master/priv_inc -I/vob/signalware//Master/priv_inc
> -I../../../../libulcm/inc -I../../include -I/usr/X/include      -Wall
> -std=gnu99 -O   -DAMD64_ARCH  -o mr_mdb.so mr_mdb.c    -G -shared
> -mno-red-zone   -mcmodel=kernel 
> Text relocation remains                         referenced
>     against symbol                  offset      in file
> <unknown>                           0x20        /var/tmp//cckausVW.o
> <unknown>                           0x50        /var/tmp//cckausVW.o
> <unknown>                           0x80        /var/tmp//cckausVW.o
> <unknown>                           0xa8        /var/tmp//cckausVW.o
> <unknown>                           0x860       /var/tmp//cckausVW.o
> <unknown>                           0x870       /var/tmp//cckausVW.o
> <unknown>                           0x878       /var/tmp//cckausVW.o
> <unknown>                           0x888       /var/tmp//cckausVW.o
> <unknown>                           0x898       /var/tmp//cckausVW.o
> <unknown>                           0x8a0       /var/tmp//cckausVW.o
> .
>  .
>   .
> mdb_printf                          0x3a6       /var/tmp//cckausVW.o
> mdb_printf                          0x3e4       /var/tmp//cckausVW.o
> mdb_printf                          0x3ff       /var/tmp//cckausVW.o
> mdb_printf                          0x417       /var/tmp//cckausVW.o
> mdb_printf                          0x432       /var/tmp//cckausVW.o
> mdb_printf                          0x44d       /var/tmp//cckausVW.o
> mdb_printf                          0x468       /var/tmp//cckausVW.o
> mdb_printf                          0x483       /var/tmp//cckausVW.o
> mdb_printf                          0x50e       /var/tmp//cckausVW.o
> mdb_printf                          0x529       /var/tmp//cckausVW.o
> mdb_printf                          0x545       /var/tmp//cckausVW.o
> mdb_printf                          0x560       /var/tmp//cckausVW.o
> mdb_printf                          0x57c       /var/tmp//cckausVW.o
> mdb_printf                          0x597       /var/tmp//cckausVW.o
> mdb_printf                          0x5b3       /var/tmp//cckausVW.o
> mdb_printf                          0x5cf       /var/tmp//cckausVW.o
> mdb_printf                          0x5e0       /var/tmp//cckausVW.o
> ld: fatal: relocations remain against allocatable but non-writable 
> sections
> collect2: ld returned 1 exit status
> 
> -----Original Message-----
> From: Dmitry.Samersoff at Sun.COM [mailto:Dmitry.Samersoff at Sun.COM]
> Sent: Thursday, February 19, 2009 1:30 PM
> To: William Reich
> Cc: Jonathan Adams; mdb-discuss at opensolaris.org; Richmond Tuttle
> Subject: Re: mdb dmod - compile with gcc on x86 ?
> 
> William,
> 
> Do you use gcc on sparc to build the module?
> What kind of unresolved symbols -shared cause?
> 
> I think mdb has been build using Sun Studio compiler so it's better to

> use Sun CC to build the module.
> 
> -Dmitry.
> 
> 
> William Reich wrote:
>>  
>> on my compiler,  -fPIC and -mcmodel=kernel are not allowed together.
>> The -shared option resulted on lots of unresolved symbols.
>>
>> The -Xlinker "-G" resulted in the same relocation error...
>>
>> I also tried the suggestion of Jonathan.  Same relocation error...
>> ( I would have thought a mdb module was a kernel module... )
>>
>>
>> wr
>>
>> +++++++++++++++++++++++++++++++++++
>>
>>>> /bin/gcc    -L/vob/signalware/Master/library -m64 -fno-builtin
>>>> -DOMNI_UNIX \
>>>> -D_KERNEL -DMP_SSRV4  -mno-red-zone \
>>                           ^^^^^^^^^^^^^
>>>> -mcmodel=kernel -DAMD64_ARCH -DSOL10 \
>>     ^^^^^^^^^^^^^^^
>>
>> Those are your problem;  this isn't a kernel module, so why are you 
>> using the kernel model?
>>
>> Cheers,
>> - jonathan
>>
>>
>> -----Original Message-----
>> From: Dmitry.Samersoff at Sun.COM [mailto:Dmitry.Samersoff at Sun.COM]
>> Sent: Thursday, February 19, 2009 1:05 PM
>> To: William Reich
>> Cc: Bhaskar.Sarkar at Sun.COM; mdb-discuss at opensolaris.org; Richmond 
>> Tuttle
>> Subject: Re: [mdb-discuss] mdb dmod - compile with gcc on x86 ?
>>
>> William,
>>
>> Try to change GCC command line:
>> add  -fPIC -shared
>> and replace -G to
>> -Xlinker "-G"
>>
>>
>> William Reich wrote:
>>>  
>>> my source does not contain a function named main().
>>>
>>> ...only has the external function _mdb_init().
>>> All other functions in the file are static.
>>>
>>> wr
>>>
>>> -----Original Message-----
>>> From: Bhaskar.Sarkar at Sun.COM [mailto:Bhaskar.Sarkar at Sun.COM]
>>> Sent: Thursday, February 19, 2009 12:09 PM
>>> To: William Reich
>>> Cc: mdb-discuss at opensolaris.org; Richmond Tuttle
>>> Subject: Re: [mdb-discuss] mdb dmod - compile with gcc on x86 ?
>>>
>>> William Reich wrote:
>>>>  
>>>> I am trying to compile a dmod for mdb using gcc on a 64bit x86 
>>>> machine.
>>>>
>>>> The compile goes ok, but the resulting file does not load into mdb.
>>>>
>>>> Anybody know the solution to this puzzle ?
>>>>
>>>> thanks
>>>>
>>>> wr
>>> You should not have a main() function in your module.
>>> Your only interface to mdb is via _mdb_init()
>>>
>>> HIH,
>>> Bhaskar
>>>
>>>> ++++++++++++
>>>>
>>>>
>>>> /bin/gcc    -L/vob/signalware/Master/library -m64 -fno-builtin
>>>> -DOMNI_UNIX \
>>>>  -D_KERNEL -DMP_SSRV4  -mno-red-zone \  -mcmodel=kernel 
>>>> -DAMD64_ARCH
> 
>>>> -DSOL10 \
>>>>   -I/vob/common/src      \
>>>>   -Wall -std=gnu99 -O  -G -o mr_mdb.so mr_mdb.c   
>>>>
>>>>
>>>>
>>>> # mdb -k
>>>> Loading modules: [ unix krtld genunix specfs dtrace cpu.generic
>>>> cpu_ms.AuthenticAMD.15 uppc pcplusmp ufs mpt ip hook neti sctp a rp

>>>> usba fcp fctl nca lofs md cpc random crypto zfs fcip logindmux ptm 
>>>> sppp nfs ipc ]
>>>>
>>>>> ::load ./mr_mdb.so
>>>> mdb: ld.so.1: mdb: fatal: relocation error: R_AMD64_PC32: file
>>>> ./mr_mdb.so: symbol main: value 0x28001df8e34 does not fit 
>>>> _______________________________________________
>>>> mdb-discuss mailing list
>>>> mdb-discuss at opensolaris.org
>>> _______________________________________________
>>> mdb-discuss mailing list
>>> mdb-discuss at opensolaris.org
>>
>> --
>> Dmitry Samersoff
>> J2SE Sustaining team, SPB04
>> * There will come soft rains ...
> 
> 
> --
> Dmitry Samersoff
> J2SE Sustaining team, SPB04
> * There will come soft rains ...


--
Dmitry Samersoff
J2SE Sustaining team, SPB04
* There will come soft rains ...

Reply via email to