lkml.org 
[lkml]   [2004]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [PATCH] fix for pseudo symbol swapping with scripts/kallsyms - linux-2.6.10-rc1-bk12 & gcc 3.4.2
Date
i will try to give it a try on monday 
when i am back to the console of that machine.
Thanks for your good hints. I assume that function
alignment might expose some other benefits as well.

-Alex.

----- Original Message -----
From: "Sam Ravnborg" <sam@mars.opasia.dk>
To: "Alexander Stohr" <Alexander.Stohr@gmx.de>; <linux-kernel@vger.kernel.org>; <kai@germaschewski.name>; <sam@ravnborg.org>
Sent: Saturday, November 06, 2004 10:05 PM
Subject: Re: [PATCH] fix for pseudo symbol swapping with scripts/kallsyms - linux-2.6.10-rc1-bk12 & gcc 3.4.2


> On Sat, Nov 06, 2004 at 12:25:58AM +0100, Sam Ravnborg wrote:
> > The linker will adhere to any alingment demands in the section,
> > but not the labels. So the real fix is to make sure the labels are
> > defined inside the section.
> > Please try attached (untested) patch.
> >
> > Check that error is present without patch, and it is fixed with the patch.
>
> This patch is better - we cannot define sections within sections.
>
> Sam
>
> ===== include/asm-generic/vmlinux.lds.h 1.16 vs edited =====
> --- 1.16/include/asm-generic/vmlinux.lds.h 2004-10-06 18:45:06 +02:00
> +++ edited/include/asm-generic/vmlinux.lds.h 2004-11-06 21:56:11 +01:00
> @@ -6,6 +6,11 @@
> #define VMLINUX_SYMBOL(_sym_) _sym_
> #endif
>
> +/* Aling functions to a 32 byte boundary.
> + * This prevents lables defined to mark start/end of section to differ
> + * during pass 1 and pass 2 when generating Systme.map */
> +#define ALIGN_FUNCTION() . = ALIGN(8)
> +
> #define RODATA \
> .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
> *(.rodata) *(.rodata.*) \
> @@ -77,11 +82,13 @@
> }
>
> #define SCHED_TEXT \
> + ALIGN_FUNCTION(); \
> VMLINUX_SYMBOL(__sched_text_start) = .; \
> *(.sched.text) \
> VMLINUX_SYMBOL(__sched_text_end) = .;
>
> #define LOCK_TEXT \
> + ALIGN_FUNCTION(); \
> VMLINUX_SYMBOL(__lock_text_start) = .; \
> *(.spinlock.text) \
> VMLINUX_SYMBOL(__lock_text_end) = .;
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.038 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site