Alpha Linux kernel fails with inconsistent kallsyms data

View: New views
2 Messages — Rating Filter:   Alert me  

Alpha Linux kernel fails with inconsistent kallsyms data

by Bastian Blank :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 */


signature.asc (204 bytes) Download Attachment

RE: Alpha Linux kernel fails with inconsistent kallsyms data

by Uwe Schindler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Bastian,

the new version in unstable works after installing here. So your fix seems
to not affect stability.

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@...

> From: Bastian Blank [mailto:waldi@...]
> Sent: Sunday, June 22, 2008 10:12 PM
> To: debian-kernel@...; rth@...
> Cc: debian-alpha@...
> 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


--
To UNSUBSCRIBE, email to debian-alpha-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...

LightInTheBox - Buy quality products at wholesale price!