[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: heap corruption in du

From: Mikulas Patocka
Subject: Re: heap corruption in du
Date: Mon, 24 Oct 2005 16:01:09 +0200 (CEST)

On Mon, 24 Oct 2005, Paul Eggert wrote:

Mikulas Patocka <address@hidden> writes:

The compilation gets a bit further with the patch, but it still
doesn't work --- this time it is problem of intel compiler --- it
can't extract its intercode from *.a files.

The Intel compiler mishandles static libraries?  That sounds like
a real compatiblity issue all right.

That's lame. Intel C version 8 had switch -ipo-obj that causes it to generate both intercode and legacy machinecode into *.o files --- with this switch, coreutils can be compiled (however it's a bit suboptimal, because it uses machinecode from *.a files, not intercode). Intel C 9 removed "-ipo-obj" switch, making it impossible to use Inter-procedural optimizations in projects that pack object files into "*.a"

You can modify libtool so that when it is creating static library and
compiler is "icc" or "icpc" (or "some/path/icc" or "some/path/icpc"),
it passes it -no-ipo switch. (dynamic libraries work fine with -ipo).

But coreutils does not use libtool, no?  So this wouldn't fix
the problem.

I see.

If you want to solve it in some way (detect intel compiler and pass it -no-ipo when creating object files that will be packed into "*.a"), you can, if you don't want, you don't have to.

Perhaps this issue would need to be taken up with the libtool folks,
but that should go to bug-libtool.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]