[lkml]   [2002]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] BUG preserve registers
Linus Torvalds <> writes:

> On Sat, 9 Feb 2002, Andrew Morton wrote:
> >
> > This is due to BUG() calls in inline functions in headers. The biggest
> > culprit is dget(), in dcache.h. This causes the full path of the header file
> > to be expanded into each and every compilation unit which includes
> > dcache.h.
> Hmm. Which brings up another issue: can somebody come up with an idea of
> how to make the thing not use the whole pathname, but only the basename
> relative to the top-of-tree?
> I doubt it is possible, but maybe there is some clever way to avoid it..
> > I'm showing thirteen header files, for a total of 83k. I'll do something
> > about this...
> Ok, so even your gcc obviously is _not_ intelligent enough to throw away
> strings from inline functions that aren't used. Oh well.

One possibility is to do something like:

.word __LINE__
.long 1f
.section __FILE__
.linkonce discard
1: .asciz __FILE__

Which will put each filename string in it's own section and let the
linker merge the duplicates. I don't know how to wrap all of this up
nicely in a inline asm statement but perhaps someone else can work
out the remaining details. Ideally I would put a prefix on the name
of all of the sections for easy processing, but string concatenation
doesn't work in asm :(

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:24    [W:0.067 / U:11.264 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site