Gcc 在Solaris上构建共享库,但不导出.SUNW\u syminfo

Gcc 在Solaris上构建共享库,但不导出.SUNW\u syminfo,gcc,solaris,Gcc,Solaris,我在x86上使用solaris 11.3,使用GCC4.8.2进行编译 我使用以下参数编译了带有gcc的libpng: #Compile flag:# C_FLAGS = -m32 -g -fPIC -Ixxxx -Ixxxx C_DEFINES = -D__GNU__ -Dpng16_EXPORT #Link flag:# /usr/bin/gcc -fPIC -m32 -g -shared -Wl,-hlibpng16.so -o ../xxxx/libpng16.so ...

我在x86上使用solaris 11.3,使用GCC4.8.2进行编译

我使用以下参数编译了带有gcc的libpng:

#Compile flag:#
C_FLAGS =  -m32 -g -fPIC  -Ixxxx  -Ixxxx
C_DEFINES = -D__GNU__ -Dpng16_EXPORT

#Link flag:#
/usr/bin/gcc  -fPIC  -m32 -g -shared -Wl,-hlibpng16.so -o ../xxxx/libpng16.so  ...
编译可以正常进行。当我使用
elfdump
命令时,没有要导出的内容

#elfdump -y libpng.so#
like:(elfdump -y libGL.so)  
Syminfo Section:  .SUNW_syminfo

   index  flags  dynndx boundto          symbol

     [1]  DB            <self>           glDebugMessageControlARB
     [2]  DB            <self>           glAlphaFragmentOp3ATI
     [3]  DB            <self>           glColorFragmentOp1ATI
     [4]  DB            <self>           glWindowPos2dMESA
     [5]  DB            <self>           glGetShaderPrecisionFormat
     [6]  DB            <self>           glGetPixelMapusv
     [7]  DB            <self>           glNormalP3uiv
没有什么可出口的

#elfdump -y libpng.so#
like:(elfdump -y libGL.so)  
Syminfo Section:  .SUNW_syminfo

   index  flags  dynndx boundto          symbol

     [1]  DB            <self>           glDebugMessageControlARB
     [2]  DB            <self>           glAlphaFragmentOp3ATI
     [3]  DB            <self>           glColorFragmentOp1ATI
     [4]  DB            <self>           glWindowPos2dMESA
     [5]  DB            <self>           glGetShaderPrecisionFormat
     [6]  DB            <self>           glGetPixelMapusv
     [7]  DB            <self>           glNormalP3uiv
但是当我使用
elfdump
转储其他系统库时。有
.SUNW\u syminfo
要导出

#elfdump -y libpng.so#
like:(elfdump -y libGL.so)  
Syminfo Section:  .SUNW_syminfo

   index  flags  dynndx boundto          symbol

     [1]  DB            <self>           glDebugMessageControlARB
     [2]  DB            <self>           glAlphaFragmentOp3ATI
     [3]  DB            <self>           glColorFragmentOp1ATI
     [4]  DB            <self>           glWindowPos2dMESA
     [5]  DB            <self>           glGetShaderPrecisionFormat
     [6]  DB            <self>           glGetPixelMapusv
     [7]  DB            <self>           glNormalP3uiv
like:(elfdump-y libGL.so)
符号信息部分:。SUNW\u符号信息
索引标志dynndx BONDTO符号
[1] DB glDebugMessageControlARB
[2] DB glAlphaFragmentOp3ATI
[3] DB glColorFragmentOp1ATI
[4] DB glWindowPos2dMESA
[5] DB glGetShaderPrecisionFormat
[6] DB glGetPixelMapusv
[7] DB GLNORMAP3UIV

为什么我编译的png库没有
.SUNW\u syminfo
信息?如何将compile或link标志调整为
gcc
,以获取符号信息。

共享库是否工作?是。它工作正常。