[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200709182101.12284.vda.linux@googlemail.com>
Date: Tue, 18 Sep 2007 21:01:12 +0100
From: Denys Vlasenko <vda.linux@...glemail.com>
To: Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
Cc: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [patch 1/7] Immediate Values - Architecture Independent Code
On Tuesday 18 September 2007 18:59, Mathieu Desnoyers wrote:
> * Denys Vlasenko (vda.linux@...glemail.com) wrote:
> > On Monday 17 September 2007 19:42, Mathieu Desnoyers wrote:
> > > Index: linux-2.6-lttng/include/asm-generic/vmlinux.lds.h
> > > ===================================================================
> > > --- linux-2.6-lttng.orig/include/asm-generic/vmlinux.lds.h 2007-09-17 13:25:06.000000000 -0400
> > > +++ linux-2.6-lttng/include/asm-generic/vmlinux.lds.h 2007-09-17 13:35:50.000000000 -0400
> > > @@ -122,6 +122,13 @@
> > > VMLINUX_SYMBOL(__stop___kcrctab_gpl_future) = .; \
> > > } \
> > > \
> > > + /* Immediate values: pointers */ \
> > > + __immediate : AT(ADDR(__immediate) - LOAD_OFFSET) { \
> > > + VMLINUX_SYMBOL(__start___immediate) = .; \
> > > + *(__immediate) \
> > > + VMLINUX_SYMBOL(__stop___immediate) = .; \
> > > + } \
> > > + \
> >
> > Why do you need an output section for that? IOW: will this work too?
> >
> > .data : ... {
> > ...
> >
> > VMLINUX_SYMBOL(__start___immediate) = .; \
> > *(__immediate) \
> > VMLINUX_SYMBOL(__stop___immediate) = .; \
> > ...
> > }
> >
>
> This last one could cause alignment problems. We either have to use the
> proper ALIGN() before the section, or let AT(ADDR(__immediate) -
> LOAD_OFFSET) take care of it. I prefer the latter.
This adds yet another output section in vmlinux, and there is
no tools which need that. We already have 30+ sections there while we need ~20.
I am trying to fix the mess. Please don't add to it.
Re alignment: (1) do you really realy REALLY need it? Last I checked,
i386 was handling unaligned accesses just fine; and
(2) this works:
. = ALIGN(4)
VMLINUX_SYMBOL(__start___immediate) = .; \
*(__immediate) \
VMLINUX_SYMBOL(__stop___immediate) = .; \
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists