[lsb-discuss] lsb_appchk bug
Robert Schweikert
Robert.Schweikert at abaqus.com
Mon Jul 24 11:14:14 PDT 2006
On Mon, 2006-07-24 at 08:53 -0700, Wichmann, Mats D wrote:
> *****************/
> 3 is ET_DYN. As this is a dynamic library, this is correct. So this tool
> failure.
>
> The object does not have an eh_frame section. No doubt that's why you
> get the seg fault. Also the error message is wrong. There is no
> requirement fro a dso to have an .eh_frame section.
>
> So I am closing this as third party problem since its clearly the
> checking tool that is broken.
> /*****************/
After further investigation I think the problem lies with the library
after all. There is no .eh_frame section, but there is an .eh_frame
section info pointing to the same address as the .data1 section as
readelf shows:
-> readelf /opt/intel/cce/9.1.039/lib/libcxaguard.so.5
<snip>
[ 9] .data1 PROGBITS 0000000000100560 00000730
0000000000000000 0000000000000000 W 0 0 1
[10] .eh_frame PROGBITS 0000000000100560 00000560
0000000000000098 0000000000000000 WA 0 0 4
<snip>
I've stepped through appchk with the debugger and basically got the
result that readelf provides, i.e. an .eh_frame header is found in
sections.c, checkElfsection(), but due to the bogus adresses things go
wrong after this.
I am able to work around the dump by adding the following check on line
379 of sections.c
if (! fail)
this avoids the function call to checkPROGBITS(). This hack will at
least keep me going until this is sorted out.
Robert
>
> sometrhing is clearly confusing appchk, as it's checked dozens -
> perhaps hundreds - of shared libraries without having this sort
> of problem. Was the tool called with the shared library getting
> the -L flag? If you call it directly on a shared library, it
> will indeed fail.
>
> For now I'm going to consider this an appchk problem, but may
> need the files to be able to look into it further.
>
--
Robert Schweikert MAY THE SOURCE BE WITH YOU
(Robert.Schweikert at abaqus.com) LINUX
ABAQUS Inc.
Phone : 401-276-7190
FAX : 401-276-4408
More information about the lsb-discuss
mailing list