Re: [PATCH 6/7] kbuild: make source and include paths absolute

From: Vegard Nossum
Date: Fri May 23 2008 - 15:42:25 EST


On Fri, May 23, 2008 at 9:09 PM, Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> On Fri, May 23, 2008 at 11:17:07AM -0700, Andrew Morton wrote:
>> On Fri, 23 May 2008 20:18:40 +0300
>> Adrian Bunk <bunk@xxxxxxxxxx> wrote:
>>
>> > On Thu, May 22, 2008 at 08:17:24PM -0700, Andrew Morton wrote:
>> > > On Mon, 19 May 2008 10:44:56 +0200 Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxx> wrote:
>> > >
>> > > > From: Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxx>
>> > > >
>> > > > Change all source and include paths to absolute form when
>> > > > CONFIG_GCOV_PROFILE is enabled.
>> > > >
>> > > > Example:
>> > > >
>> > > > gcc -Idir1 -c a.c -o a.o
>> > > >
>> > > > will become
>> > > >
>> > > > gcc -I/path/to/dir1 -c /path/to/a.c -o a.o
>> > > >
>> > > > Required by the gcov profiling infrastructure: when compiling with
>> > > > option -fprofile-arcs, gcc stores file names inside object files.
>> > > > Relative paths prevent the gcov tool from finding corresponding source
>> > > > files.
>> > >
>> > > I don't like this. It converts the compiler error messages from
>> > > relative paths to absolute paths which is rather obnoxious when
>> > > all kernel developent is (or should be) base-directory-agnostic.
>> >
>> > The compiler error messages are already absolute paths when using O=
>> > (see e.g. all error messages sent by me in recent years).
>> >
>>
>> Well I guess that's understandable with O=.
>>
>> But I find it rather nasty. (I guess it'd be less nasty if I were to
>> get off my butt and work out how to teach rxvt that "/" is a word
>> separator).
>>
>> What do others think?
>
> That the gcov tool has a bug if it insist on using absolute paths.
> And thus we should fix gcov and not workaround it in the kernel.

IIRC, there was also the slight problem that all uses of __FILE__
(there are quite a few in the kernel) will also now be absolute and
increase the size of the vmlinux image by quite a bit.

Yeah... http://lkml.org/lkml/2006/4/25/40


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/