ld: error no .eh_frame_hdr table will be created.

Ian Lance Taylor iant@google.com
Fri Apr 17 21:33:00 GMT 2009


LinuxUser9 <bvrit_abc@yahoo.com> writes:

> Following is the error I am getting at the end of my build/compilation and in
> general the functionality is ok but I am not sure the cause of this error.
> Following is my compilation env:
>
> GNU Binary Utilities 	 2.18.50-sg++
> GNU C & C++ Compilers  4.3.2-sg++
> GNU C Library 	         2.8-sg++ 
>
> /mips-linux-gnu-g++ -o <App> <SeveralObject> -L<Path to Library>
> -l<libraries>
> mips-4.3/bin/../lib/gcc/mips-linux-gnu/4.3.2/../../../../mips-linux-gnu/bin/ld:
> error in bin/libx.o(.eh_frame); no .eh_frame_hdr table will be created.
>
> There are several objects and they are partially linked (mips-linux-gnu-ld
> -r -o FinalObject <IndvidualObjects>). 
> This only happens if there are C++ objects. Can you please comment on why I
> am getting the above indicated error? Any pointers are appreciated!

Presumably bin/libx.o was not compiled by a current version of gcc.
This error means that the linker did not understanding something in the
exception frame information.  gcc has asked the linker to create an
exception frame header, but, because there is something wrong, the
exception frame header will not be created.

I think everything will still work more or less correctly.  The effect
is that throwing an exception will take longer at runtime.

You can dump the exception frame information using readelf
--debug=frames.

Ian



More information about the Gcc-help mailing list