Page 1 of 1

Did anyone successfully create .so in AIX5.3 using DS 7.5.2

Posted: Thu Nov 26, 2009 2:24 pm
by pneumalin
Friends,
I am wondering if anyone ever successfully created a valid .so using /usr/vacpp/bin/xlC_r -O -c -qspill=32704 to compile and /usr/vacpp/bin/xlC_r -G to link?
I can use the .o file as Object in PX ROutine and compile/run to success. But once I link the .o using -G option to create .so, the compilation fails with error: The external libray object XXX.so is invalid.
I further dump the .so as following:
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
4 0x00000866 73 72 0x3002
Flags=( EXEC DYNLOAD SHROBJ DEP_SYSTEM )
Timestamp = "Nov 26 15:04:20 2009"
Magic = 0x1df (32-bit XCOFF)

***Optional Header***
Tsize Dsize Bsize Tstart Dstart
0x00000454 0x00000024 0x00000000 0x10000128 0x2000057c

SNloader SNentry SNtext SNtoc SNdata
0x0004 0x0000 0x0001 0x0002 0x0002

TXTalign DATAalign TOC vstamp entry
0x0005 0x0002 0x20000588 0x0001 0xffffffff

maxSTACK maxDATA SNbss magic modtype
0x00000000 0x00000000 0x0003 0x010b RE

***Section Header Information***
Section Header for .text
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x10000128 0x10000128 0x00000454 0x00000128 0x00000758

LN#ptr #RELent #LINent Flags
0x00000000 0x0013 0x0000 0x00000020

Section Header for .data
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x2000057c 0x2000057c 0x00000024 0x0000057c 0x00000816

LN#ptr #RELent #LINent Flags
0x00000000 0x0008 0x0000 0x00000040

Section Header for .bss
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x200005a0 0x200005a0 0x00000000 0x00000000 0x00000000

LN#ptr #RELent #LINent Flags
0x00000000 0x0000 0x0000 0x00000080

Section Header for .loader
PHYaddr VTRaddr SCTsiz RAWptr RELptr
0x00000000 0x00000000 0x000001b7 0x000005a0 0x00000000

LN#ptr #RELent #LINent Flags
0x00000000 0x0000 0x0000 0x00001000

====================================

I don't find anything wrong with the .so I generated, except the section .data area in my .so refers to real values in PHYaddr and VTRaddr, versus all .so coming with DSEngine refer to 0x00000 in both entries.

Any comment is appreciated!

Posted: Fri Nov 27, 2009 9:53 am
by Sreenivasulu
what is the version of your C compiler and AIX OS?

Regards
Sreeni

Posted: Fri Nov 27, 2009 2:24 pm
by pneumalin
It is xlC_r version 6.0...

Posted: Sun Nov 29, 2009 1:11 pm
by Sreenivasulu
I have head of c compilers g++,gcc not the one you mentioned of.
You did not mentioned the OS version.

Regards
Sreeni

Posted: Sun Nov 29, 2009 1:33 pm
by ray.wurlod
Not true. The operating system is AIX 5.3 (see subject). The supported C++ compiler on all AIX systems is xlC_r.

Posted: Mon Nov 30, 2009 10:59 am
by pneumalin
Thanks Ray for pointing out the version listed in subject area.
Yes, It is OS AIX 5.3 using VisualAge C++ compiler called xlC. I used to patch and support this compiler back in 2000 for IBM :-)). I think I must have lost the track of the new development on this compiler, I will open a PMR with IBM if no one here got this resolved before.
Thanks for your help!

Posted: Mon Nov 30, 2009 11:16 am
by Sreenivasulu
Thanks Ray. I didnt knew about it.

Regards
Sreeni