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

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
pneumalin
Premium Member
Premium Member
Posts: 125
Joined: Sat May 07, 2005 6:32 am

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

Post 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!
Sreenivasulu
Premium Member
Premium Member
Posts: 892
Joined: Thu Oct 16, 2003 5:18 am

Post by Sreenivasulu »

what is the version of your C compiler and AIX OS?

Regards
Sreeni
pneumalin
Premium Member
Premium Member
Posts: 125
Joined: Sat May 07, 2005 6:32 am

Post by pneumalin »

It is xlC_r version 6.0...
Sreenivasulu
Premium Member
Premium Member
Posts: 892
Joined: Thu Oct 16, 2003 5:18 am

Post 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
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post 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.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
pneumalin
Premium Member
Premium Member
Posts: 125
Joined: Sat May 07, 2005 6:32 am

Post 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!
Sreenivasulu
Premium Member
Premium Member
Posts: 892
Joined: Thu Oct 16, 2003 5:18 am

Post by Sreenivasulu »

Thanks Ray. I didnt knew about it.

Regards
Sreeni
Post Reply