|
Boost-Build : |
From: Steinlein,Volker (EBV) (Volker.Steinlein_at_[hidden])
Date: 2008-06-03 07:05:56
Hello Volodya!
> What is the soname encoded in
>
>
/home2/steinlv/my_boost_dir/boost/bin.v2/libs/system/build/acc/debug/thr
eading-multi/libboost_system-mt-d-1_35.so.1.35.0
>
> ? (On Linux, readelf -d will tell that, no idea about AIX).
These are the informations of both files:
------- libboost_system-mt-d-1_35.so.1.35.0 -----------
Dynamic section at offset 0x2b0 contains 28 entries:
Tag Type Name/Value
0x000000000000001d (RUNPATH) Library runpath:
[/usr/lib/hpux64:/opt/langtools/lib/hpux64]
0x0000000000000019 (INIT_ARRAY) 0x6000000000000330
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x6000000000000338
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000000000001e (FLAGS)
0x0000000060000001 (<unknown>: 60000001) 0x0
0x0000000000000003 (PLTGOT) 0x60000000000004b0
0x0000000000000004 (HASH) 0x4000000000003c48
0x0000000000000005 (STRTAB) 0x4000000000001b98
0x0000000000000006 (SYMTAB) 0x4000000000000470
0x0000000070000000 (IA_64_PLT_RESERVE) 0x6000000000000600 --
0x6000000000000618
0x000000006000000c (<unknown>: 6000000c) 0x400000000000a7c0
0x000000006000000b (<unknown>: 6000000b) 0x1
0x0000000060000008 (<unknown>: 60000008) 0x484508d9
0x0000000060000009 (<unknown>: 60000009) 0xbbfd8ec7
0x0000000060000018 (Operating System specific: 60000018)
0x6377d618
0x0000000000000007 (RELA) 0x4000000000004218
0x0000000000000008 (RELASZ) 2496 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x4000000000004998
0x0000000000000002 (PLTRELSZ) 576 (bytes)
0x000000006000000d (Operating System specific: 6000000d)
0x4000000000004938
0x000000006000000e (Operating System specific: 6000000e)
0x30
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000000000000a (STRSZ) 8363 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000000 (NULL) 0x0
------- libboost_filesystem-mt-d-1_35.so -----------
Dynamic section at offset 0x2b0 contains 29 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library:
[/home2/steinlv/my_boost_dir/boost/bin.v2/libs/system/build/acc/debug/th
reading-multi/libboost_system-mt-d-1_35.so.1.35.0]
0x000000000000001d (RUNPATH) Library runpath:
[/usr/lib/hpux64:/opt/langtools/lib/hpux64]
0x0000000000000019 (INIT_ARRAY) 0x60000000000009c0
0x000000000000001b (INIT_ARRAYSZ) 32 (bytes)
0x000000000000001a (FINI_ARRAY) 0x60000000000009e0
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000000000001e (FLAGS)
0x0000000060000001 (<unknown>: 60000001) 0x0
0x0000000000000003 (PLTGOT) 0x6000000000000de0
0x0000000000000004 (HASH) 0x40000000000114a8
0x0000000000000005 (STRTAB) 0x40000000000054a8
0x0000000000000006 (SYMTAB) 0x4000000000000480
0x0000000070000000 (IA_64_PLT_RESERVE) 0x60000000000011b0 --
0x60000000000011c8
0x000000006000000c (<unknown>: 6000000c) 0x400000000002b968
0x000000006000000b (<unknown>: 6000000b) 0x1
0x0000000060000008 (<unknown>: 60000008) 0x484508d9
0x0000000060000009 (<unknown>: 60000009) 0xbb49c243
0x0000000060000018 (Operating System specific: 60000018)
0x1e8c2d80
0x0000000000000007 (RELA) 0x40000000000128b8
0x0000000000000008 (RELASZ) 7368 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x4000000000013fb0
0x0000000000000002 (PLTRELSZ) 1488 (bytes)
0x000000006000000d (Operating System specific: 6000000d)
0x4000000000013ec0
0x000000006000000e (Operating System specific: 6000000e)
0x78
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000000000000a (STRSZ) 49151 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000000 (NULL) 0x0
------------
>
> What is the linker option to specify soname, on AIX?
>
I am not quite sure what you mean but I suppose you want to give the
libaries internal names.
This is what the HPUX ld man page says about assigning libraries
------8<-------------
+h internal_name
When building a shared library, record
internal_name as the name of the library.
When
the library is used to link another executable
file (program or shared library), this
internal_name is recorded in the library list
of
the resulting output file instead of the
pathname
of the input shared library. That is, if +h
is
not used, the shared library does not have an
internal name and when an executable is built
with
the shared library, the linker records the
library
name that it looks at.
If more than one +h option is seen on the link
line, the linker uses the first one and emits
a
warning message.
----------8<-----------
Is it that what you need?
Best regards and thank you very much
Volker
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk