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

(fwd) Alpha Linux kernel fails with inconsistent kallsyms data



according to the build log
http://buildd.debian.org/fetch.cgi?pkg=linux-2.6;ver=2.6.25-6;arch=alpha;stamp=1214551466
alpha linux image built fine with belows patch,
please have an eye.

thanks

-- 
maks

----- Forwarded message from Bastian Blank <waldi@debian.org> -----

Date: Sun, 22 Jun 2008 22:11:43 +0200
From: Bastian Blank <waldi@debian.org>
To: debian-kernel@lists.debian.org, rth@twiddle.net
Cc: debian-alpha@lists.debian.org
Subject: Alpha Linux kernel fails with inconsistent kallsyms data

Hi folks

The build of the Alpha Linux kernel currently fails[1] with inconsistent
kallsyms data. As I never saw that before, I thought about hardware
problems. But in fact it is a bug in the Linux kernel.

The end of the rodata section is marked with the "__end_rodata" symbol.
This symbol have different aligning constraints than the inittext parts
and therefor the start marked "_sinittext". Because of that the
__end_rodata symbol shifts between < _sinittext and == _sinittext. The
later variant is seen as a code symbol and recorded in the kallsyms
data.

On fix would be to move the exception table a little bit and get some
space between that two areas.

Bastian

[1]: http://buildd.debian.org/fetch.cgi?pkg=linux-2.6&arch=alpha&ver=2.6.25-5&stamp=1213919009&file=log&as=raw

-- 
The face of war has never changed.  Surely it is more logical to heal
than to kill.
		-- Surak of Vulcan, "The Savage Curtain", stardate 5906.5

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index f13249b..ef37fc1 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -25,6 +25,13 @@ SECTIONS
 	} :kernel
 	_etext = .;	/* End of text section */
 
+	NOTES :kernel :note
+	.dummy : {
+		*(.dummy)
+	} :kernel
+
+	RODATA
+
 	/* Exception table */
 	. = ALIGN(16);
 	__ex_table : {
@@ -33,13 +40,6 @@ SECTIONS
 		__stop___ex_table = .;
 	}
 
-	NOTES :kernel :note
-	.dummy : {
-		*(.dummy)
-	} :kernel
-
-	RODATA
-
 	/* Will be freed after init */
 	. = ALIGN(PAGE_SIZE);
 	/* Init code and data */




----- End forwarded message -----


Reply to: