Hi,

  I have compiled and generated a C++ shared library with the "-fPIC" option. 
But this shared library requires text relocation during runtime and is not 
usable on seLinux which disables writeable text segments. The text relocation 
is due to use of exceptions inside the shared library. There is a segment 
".gcc_except_table" created in the shared library and it contains symbols 
suffixed with "$$LSDA" :-

0013df38 <_ZN6comref4runt11userdef20releasebackEPS1_$$LSDA>:
  13df38:       ff 00                   incl   (%eax)
  13df3a:       18 01                   sbb    %al,(%ecx)
  13df3c:       0c 1c                   or     $0x1c,%al
  13df3e:       03 2f                   add    (%edi),%ebp
  13df40:       01 52 0a                add    %edx,0xa(%edx)
  13df43:       6d                      insl   (%dx),%es:(%edi)
  13df44:       00 66 1a                add    %ah,0x1a(%esi)
  13df47:       00 00                   add    %al,(%eax)
  13df49:       02 00                   add    (%eax),%al
        ...
   13df4b: R_386_32        _ZTIN6comref4runt12genExceptionE


  Can someone please help in understand the issue and how to work around?

Thanks,
Shankar


      Yahoo! India has a new look. Take a sneak peek http://in.yahoo.com/trynew

Reply via email to