svn commit: r212373 - head/lib/libelf
Kai Wang
kaiwang27 at gmail.com
Fri Sep 10 09:59:32 UTC 2010
On Thu, Sep 09, 2010 at 07:54:02PM -0700, Steve Kargl wrote:
> On Thu, Sep 09, 2010 at 06:51:50PM +0000, Kai Wang wrote:
> > Author: kaiw
> > Date: Thu Sep 9 18:51:50 2010
> > New Revision: 212373
> > URL: http://svn.freebsd.org/changeset/base/212373
> >
> > Log:
> > libelf is overly strict about the type and alignment of Elf_Data
> > objects inside one ELF section, which prevents the creation of a ELF
> > section with mixed data types. For example, gcc LTO use libelf to
> > create a .gnu_lto_XXX section that contains integers and a string
> > table, which doesn't work with our libelf implementation.
> >
> > The changes made in this commit include:
> > * Allow Elf_Data type to be different than section type.
> > * Relax Elf_Data alignment check.
> > * Align each Elf_Data by their own alignment instead of section alignment.
> >
> > MFC after: 1 month
> >
> > Modified:
> > head/lib/libelf/elf_update.c
> >
>
> libelf still doesn't work with GCC. All testsuite failures
> are of the form
>
> collect2: lto-wrapper returned 1 exit status
> compiler exited with status 1
> output is:
> lto1: error: could not open ELF file: Request error: invalid ELF_C_* argument
> lto-wrapper: /usr/home/sgk/gcc/obj4x/gcc/testsuite/gfortran/../../gfortran returned 1 exit status
> collect2: lto-wrapper returned 1 exit status
Hi Steve,
It seems that your lto1 was compiled with our libelf header but linked
to GNU libelf. (I think "invalid ELF_C_* argument" is GNU libelf error
message)
Could you please check the value of "ldd /path/to/lto1" ?
Thanks,
Kai
More information about the svn-src-head
mailing list