* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
@ 2006-03-29 16:51 ` Russ Anderson
2006-03-29 16:59 ` Russ Anderson
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Russ Anderson @ 2006-03-29 16:51 UTC (permalink / raw)
To: linux-ia64
Jes Sorensen wrote:
>
> Hi,
>
> I've been chasing a very strange but since Monday and I am starting
> to hit a brick wall.
>
> Basically I am unable to build a kernel from Linus' git tree on one
> system since Monday morning, whereas it boots fine if I build it on an
> older system. I tried installing an older toolchain on this box but it
> still didn't seem to make a difference. The system boots, calls init and
> I most often get the message "INIT: 2.85 booting", then a hang. In some
> instances I don't even get the INIT message.
It builds and boots on all the machines I have tried,
including the same build and boot machines Jes uses.
Jes can't get it to work, I can't get it to fail.
> What sparked it was Russ Anderson's patch which added a few lines to
> include/asm-ia64/asmmacros.h, git id
> d2a28ad9fa7bf16761d070d8a3338375e1574b32
>
> I've tracked it down to being the two lines doing a .section/.previous
> in the below patch chunk causing it. However it doesn't seem to be the
> specific .section name that does it, ie. any random .section/.previous
> pair I add to arch/ia64/kernel/gate.S has the same effect.
>
> Now I am not a wiz in linker/gas magic, so I was hoping someone else
> had an idea what could be causing this? Anyone seen anything similar?
>
> The specific toolchain I am using is gcc-4.1.0 based, but I tried
> 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
> another system seems to do fine (admittedly it had binutils 2.14.90.x).
>
> Any suggestions would be greatly appreciated.
>
> Thanks,
> Jes
>
>
>
> diff --git a/include/asm-ia64/asmmacro.h b/include/asm-ia64/asmmacro.h
> index 77af457..d4cec32 100644
> --- a/include/asm-ia64/asmmacro.h
> +++ b/include/asm-ia64/asmmacro.h
> @@ -51,6 +51,17 @@ name:
> [99:] x
>
> /*
> + * Tag MCA recoverable instruction ranges.
> + */
> +
> + .section "__mca_table", "a" // declare section &
> section attributes
> + .previous
> +
> +# define MCA_RECOVER_RANGE(y) \
> + .xdata4 "__mca_table", y-., 99f-.; \
> + [99:]
> +
> +/*
> * Mark instructions that need a load of a virtual address patched to be
> * a load of a physical address. We use this either in critical
> performance
> * path (ivt.S - TLB miss processing) or in places where it might not be
>
--
Russ Anderson, OS RAS/Partitioning Project Lead
SGI - Silicon Graphics Inc rja@sgi.com
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
2006-03-29 16:51 ` Russ Anderson
@ 2006-03-29 16:59 ` Russ Anderson
2006-03-29 17:01 ` H. J. Lu
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Russ Anderson @ 2006-03-29 16:59 UTC (permalink / raw)
To: linux-ia64
Russ Anderson wrote:
>
> Hi,
>
> I've been chasing a very strange but since Monday and I am starting
> to hit a brick wall.
>
> Basically I am unable to build a kernel from Linus' git tree on one
> system since Monday morning, whereas it boots fine if I build it on an
> older system. I tried installing an older toolchain on this box but it
> still didn't seem to make a difference. The system boots, calls init and
> I most often get the message "INIT: 2.85 booting", then a hang. In some
My kernel says "INIT: version 2.86 booting" and works.
> instances I don't even get the INIT message.
>
> What sparked it was Russ Anderson's patch which added a few lines to
> include/asm-ia64/asmmacros.h, git id
> d2a28ad9fa7bf16761d070d8a3338375e1574b32
>
> I've tracked it down to being the two lines doing a .section/.previous
> in the below patch chunk causing it. However it doesn't seem to be the
> specific .section name that does it, ie. any random .section/.previous
> pair I add to arch/ia64/kernel/gate.S has the same effect.
>
> Now I am not a wiz in linker/gas magic, so I was hoping someone else
> had an idea what could be causing this? Anyone seen anything similar?
>
> The specific toolchain I am using is gcc-4.1.0 based, but I tried
> 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
> another system seems to do fine (admittedly it had binutils 2.14.90.x).
>
> Any suggestions would be greatly appreciated.
>
> Thanks,
> Jes
>
>
>
> diff --git a/include/asm-ia64/asmmacro.h b/include/asm-ia64/asmmacro.h
> index 77af457..d4cec32 100644
> --- a/include/asm-ia64/asmmacro.h
> +++ b/include/asm-ia64/asmmacro.h
> @@ -51,6 +51,17 @@ name:
> [99:] x
>
> /*
> + * Tag MCA recoverable instruction ranges.
> + */
> +
> + .section "__mca_table", "a" // declare section &
> section attributes
> + .previous
> +
> +# define MCA_RECOVER_RANGE(y) \
> + .xdata4 "__mca_table", y-., 99f-.; \
> + [99:]
> +
> +/*
> * Mark instructions that need a load of a virtual address patched to be
> * a load of a physical address. We use this either in critical
> performance
> * path (ivt.S - TLB miss processing) or in places where it might not be
>
--
Russ Anderson, OS RAS/Partitioning Project Lead
SGI - Silicon Graphics Inc rja@sgi.com
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
2006-03-29 16:51 ` Russ Anderson
2006-03-29 16:59 ` Russ Anderson
@ 2006-03-29 17:01 ` H. J. Lu
2006-03-29 17:14 ` Chen, Kenneth W
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: H. J. Lu @ 2006-03-29 17:01 UTC (permalink / raw)
To: linux-ia64
On Wed, Mar 29, 2006 at 06:07:58PM +0200, Jes Sorensen wrote:
> The specific toolchain I am using is gcc-4.1.0 based, but I tried
> 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
> another system seems to do fine (admittedly it had binutils 2.14.90.x).
>
Can you try the current Linux binutils 2.16.91.0.7 at
http://www.kernel.org/pub/linux/devel/binutils/
H.J.
^ permalink raw reply [flat|nested] 14+ messages in thread* RE: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (2 preceding siblings ...)
2006-03-29 17:01 ` H. J. Lu
@ 2006-03-29 17:14 ` Chen, Kenneth W
2006-03-29 17:23 ` Russ Anderson
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Chen, Kenneth W @ 2006-03-29 17:14 UTC (permalink / raw)
To: linux-ia64
Russ Anderson wrote on Wednesday, March 29, 2006 8:51 AM
> > Basically I am unable to build a kernel from Linus' git tree on one
> > system since Monday morning, whereas it boots fine if I build it on an
> > older system. I tried installing an older toolchain on this box but it
> > still didn't seem to make a difference. The system boots, calls init and
> > I most often get the message "INIT: 2.85 booting", then a hang. In some
> > instances I don't even get the INIT message.
>
> It builds and boots on all the machines I have tried,
> including the same build and boot machines Jes uses.
> Jes can't get it to work, I can't get it to fail.
Russ, do you reference __mca_table at run time? It looks like so. It's
problematic that __mca_table is in __init section. Though I doubt that
was the reason Jes ran into.
- Ken
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (3 preceding siblings ...)
2006-03-29 17:14 ` Chen, Kenneth W
@ 2006-03-29 17:23 ` Russ Anderson
2006-03-29 17:27 ` Chen, Kenneth W
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Russ Anderson @ 2006-03-29 17:23 UTC (permalink / raw)
To: linux-ia64
Chen, Kenneth W wrote:
>
> Russ, do you reference __mca_table at run time? It looks like so. It's
> problematic that __mca_table is in __init section. Though I doubt that
> was the reason Jes ran into.
It was right next to __ex_table in the original patch.
Yes, it is referenced at run time and should not be in
the __init section.
--
Russ Anderson, OS RAS/Partitioning Project Lead
SGI - Silicon Graphics Inc rja@sgi.com
^ permalink raw reply [flat|nested] 14+ messages in thread* RE: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (4 preceding siblings ...)
2006-03-29 17:23 ` Russ Anderson
@ 2006-03-29 17:27 ` Chen, Kenneth W
2006-03-29 17:31 ` Russ Anderson
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Chen, Kenneth W @ 2006-03-29 17:27 UTC (permalink / raw)
To: linux-ia64
Russ Anderson wrote on Wednesday, March 29, 2006 9:23 AM
> Chen, Kenneth W wrote:
> >
> > Russ, do you reference __mca_table at run time? It looks like so. It's
> > problematic that __mca_table is in __init section. Though I doubt that
> > was the reason Jes ran into.
>
> It was right next to __ex_table in the original patch.
> Yes, it is referenced at run time and should not be in
> the __init section.
I guess it's a merge error then :-P
- Ken
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (5 preceding siblings ...)
2006-03-29 17:27 ` Chen, Kenneth W
@ 2006-03-29 17:31 ` Russ Anderson
2006-03-29 18:03 ` Jes Sorensen
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Russ Anderson @ 2006-03-29 17:31 UTC (permalink / raw)
To: linux-ia64
Chen, Kenneth W wrote:
> Russ Anderson wrote on Wednesday, March 29, 2006 9:23 AM
> > Chen, Kenneth W wrote:
> > >
> > > Russ, do you reference __mca_table at run time? It looks like so. It's
> > > problematic that __mca_table is in __init section. Though I doubt that
> > > was the reason Jes ran into.
> >
> > It was right next to __ex_table in the original patch.
> > Yes, it is referenced at run time and should not be in
> > the __init section.
>
> I guess it's a merge error then :-P
This patch moves __mca_table out of the __init section.
Jes, can you give this a try?
-----------------------------------------------------
arch/ia64/kernel/vmlinux.lds.S | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
Index: linux-2.6-linus/arch/ia64/kernel/vmlinux.lds.S
=================================--- linux-2.6-linus.orig/arch/ia64/kernel/vmlinux.lds.S 2006-03-28 09:03:23.000000000 -0600
+++ linux-2.6-linus/arch/ia64/kernel/vmlinux.lds.S 2006-03-29 11:24:56.943922578 -0600
@@ -70,6 +70,15 @@ SECTIONS
__stop___ex_table = .;
}
+ /* MCA table */
+ . = ALIGN(16);
+ __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET)
+ {
+ __start___mca_table = .;
+ *(__mca_table)
+ __stop___mca_table = .;
+ }
+
/* Global data */
_data = .;
@@ -128,15 +137,6 @@ SECTIONS
*(.initcall6.init)
*(.initcall7.init)
__initcall_end = .;
- }
-
- /* MCA table */
- . = ALIGN(16);
- __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET)
- {
- __start___mca_table = .;
- *(__mca_table)
- __stop___mca_table = .;
}
.data.patch.vtop : AT(ADDR(.data.patch.vtop) - LOAD_OFFSET)
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (6 preceding siblings ...)
2006-03-29 17:31 ` Russ Anderson
@ 2006-03-29 18:03 ` Jes Sorensen
2006-03-29 18:03 ` Jes Sorensen
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Jes Sorensen @ 2006-03-29 18:03 UTC (permalink / raw)
To: linux-ia64
Chen, Kenneth W wrote:
> Russ Anderson wrote on Wednesday, March 29, 2006 8:51 AM
>>> Basically I am unable to build a kernel from Linus' git tree on one
>>> system since Monday morning, whereas it boots fine if I build it on an
>>> older system. I tried installing an older toolchain on this box but it
>>> still didn't seem to make a difference. The system boots, calls init and
>>> I most often get the message "INIT: 2.85 booting", then a hang. In some
>>> instances I don't even get the INIT message.
>> It builds and boots on all the machines I have tried,
>> including the same build and boot machines Jes uses.
>> Jes can't get it to work, I can't get it to fail.
>
> Russ, do you reference __mca_table at run time? It looks like so. It's
> problematic that __mca_table is in __init section. Though I doubt that
> was the reason Jes ran into.
Hi Ken,
I actually noticed that earlier and tried moving it around, but it made
no difference. I forgot it again in the noise.
Cheers,
Jes
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (7 preceding siblings ...)
2006-03-29 18:03 ` Jes Sorensen
@ 2006-03-29 18:03 ` Jes Sorensen
2006-03-29 18:04 ` Jes Sorensen
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Jes Sorensen @ 2006-03-29 18:03 UTC (permalink / raw)
To: linux-ia64
H. J. Lu wrote:
> On Wed, Mar 29, 2006 at 06:07:58PM +0200, Jes Sorensen wrote:
>> The specific toolchain I am using is gcc-4.1.0 based, but I tried
>> 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
>> another system seems to do fine (admittedly it had binutils 2.14.90.x).
>>
>
> Can you try the current Linux binutils 2.16.91.0.7 at
>
> http://www.kernel.org/pub/linux/devel/binutils/
Will do first thing in the morning.
Thanks,
Jes
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (8 preceding siblings ...)
2006-03-29 18:03 ` Jes Sorensen
@ 2006-03-29 18:04 ` Jes Sorensen
2006-03-29 18:23 ` Chen, Kenneth W
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Jes Sorensen @ 2006-03-29 18:04 UTC (permalink / raw)
To: linux-ia64
Russ Anderson wrote:
> Chen, Kenneth W wrote:
>> Russ Anderson wrote on Wednesday, March 29, 2006 9:23 AM
>>> Chen, Kenneth W wrote:
>>>> Russ, do you reference __mca_table at run time? It looks like so. It's
>>>> problematic that __mca_table is in __init section. Though I doubt that
>>>> was the reason Jes ran into.
>>> It was right next to __ex_table in the original patch.
>>> Yes, it is referenced at run time and should not be in
>>> the __init section.
>> I guess it's a merge error then :-P
>
> This patch moves __mca_table out of the __init section.
>
> Jes, can you give this a try?
I am 99.999% sure it wont make a difference. I even tried reverting your
full patch and just adding the two lines to asmmacros.h and I still hit
the failture.
Cheers,
Jes
^ permalink raw reply [flat|nested] 14+ messages in thread* RE: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (9 preceding siblings ...)
2006-03-29 18:04 ` Jes Sorensen
@ 2006-03-29 18:23 ` Chen, Kenneth W
2006-03-29 18:43 ` Jack Steiner
2006-03-30 10:04 ` Jes Sorensen
12 siblings, 0 replies; 14+ messages in thread
From: Chen, Kenneth W @ 2006-03-29 18:23 UTC (permalink / raw)
To: linux-ia64
Jes Sorensen wrote on Wednesday, March 29, 2006 10:03 AM
>>>> Basically I am unable to build a kernel from Linus' git tree on one
>>>> system since Monday morning, whereas it boots fine if I build it on an
>>>> older system. I tried installing an older toolchain on this box but it
>>>> still didn't seem to make a difference. The system boots, calls init and
>>>> I most often get the message "INIT: 2.85 booting", then a hang. In some
>>>> instances I don't even get the INIT message.
>>> It builds and boots on all the machines I have tried,
>>> including the same build and boot machines Jes uses.
>>> Jes can't get it to work, I can't get it to fail.
>>
>> Russ, do you reference __mca_table at run time? It looks like so. It's
>> problematic that __mca_table is in __init section. Though I doubt that
>> was the reason Jes ran into.
>
>I actually noticed that earlier and tried moving it around, but it made
>no difference. I forgot it again in the noise.
That's what I thought as well, very unlikely it is the issue you ran into.
- Ken
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (10 preceding siblings ...)
2006-03-29 18:23 ` Chen, Kenneth W
@ 2006-03-29 18:43 ` Jack Steiner
2006-03-30 10:04 ` Jes Sorensen
12 siblings, 0 replies; 14+ messages in thread
From: Jack Steiner @ 2006-03-29 18:43 UTC (permalink / raw)
To: linux-ia64
On Wed, Mar 29, 2006 at 10:51:14AM -0600, Russ Anderson wrote:
> Jes Sorensen wrote:
> >
> > Hi,
> >
> > I've been chasing a very strange but since Monday and I am starting
> > to hit a brick wall.
> >
> > Basically I am unable to build a kernel from Linus' git tree on one
> > system since Monday morning, whereas it boots fine if I build it on an
> > older system. I tried installing an older toolchain on this box but it
> > still didn't seem to make a difference. The system boots, calls init and
> > I most often get the message "INIT: 2.85 booting", then a hang. In some
> > instances I don't even get the INIT message.
Have you NMI'ed the system to see where it is hanging.
Also, give it a spin on the simulator. These kinds of bugs are
frequently easier to debug on the simulator. If you
want, send me a pointer to a kernel & I see what happens.
>
> It builds and boots on all the machines I have tried,
> including the same build and boot machines Jes uses.
> Jes can't get it to work, I can't get it to fail.
>
> > What sparked it was Russ Anderson's patch which added a few lines to
> > include/asm-ia64/asmmacros.h, git id
> > d2a28ad9fa7bf16761d070d8a3338375e1574b32
> >
> > I've tracked it down to being the two lines doing a .section/.previous
> > in the below patch chunk causing it. However it doesn't seem to be the
> > specific .section name that does it, ie. any random .section/.previous
> > pair I add to arch/ia64/kernel/gate.S has the same effect.
> >
> > Now I am not a wiz in linker/gas magic, so I was hoping someone else
> > had an idea what could be causing this? Anyone seen anything similar?
> >
> > The specific toolchain I am using is gcc-4.1.0 based, but I tried
> > 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
> > another system seems to do fine (admittedly it had binutils 2.14.90.x).
> >
> > Any suggestions would be greatly appreciated.
> >
> > Thanks,
> > Jes
> >
> >
> >
> > diff --git a/include/asm-ia64/asmmacro.h b/include/asm-ia64/asmmacro.h
> > index 77af457..d4cec32 100644
> > --- a/include/asm-ia64/asmmacro.h
> > +++ b/include/asm-ia64/asmmacro.h
> > @@ -51,6 +51,17 @@ name:
> > [99:] x
> >
> > /*
> > + * Tag MCA recoverable instruction ranges.
> > + */
> > +
> > + .section "__mca_table", "a" // declare section &
> > section attributes
> > + .previous
> > +
> > +# define MCA_RECOVER_RANGE(y) \
> > + .xdata4 "__mca_table", y-., 99f-.; \
> > + [99:]
> > +
> > +/*
> > * Mark instructions that need a load of a virtual address patched to be
> > * a load of a physical address. We use this either in critical
> > performance
> > * path (ivt.S - TLB miss processing) or in places where it might not be
> >
>
>
> --
> Russ Anderson, OS RAS/Partitioning Project Lead
> SGI - Silicon Graphics Inc rja@sgi.com
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: gate.S and recent toolchains
2006-03-29 16:07 gate.S and recent toolchains Jes Sorensen
` (11 preceding siblings ...)
2006-03-29 18:43 ` Jack Steiner
@ 2006-03-30 10:04 ` Jes Sorensen
12 siblings, 0 replies; 14+ messages in thread
From: Jes Sorensen @ 2006-03-30 10:04 UTC (permalink / raw)
To: linux-ia64
>>>>> "HJ" = H J Lu <hjl@lucon.org> writes:
HJ> On Wed, Mar 29, 2006 at 06:07:58PM +0200, Jes Sorensen wrote:
>> The specific toolchain I am using is gcc-4.1.0 based, but I tried
>> 3.3.4 (with binutils 2.15) and it failed as well. However 4.0.2 on
>> another system seems to do fine (admittedly it had binutils
>> 2.14.90.x).
>>
HJ> Can you try the current Linux binutils 2.16.91.0.7 at
HJ> http://www.kernel.org/pub/linux/devel/binutils/
HJ,
Tried it, no difference :(
Cheers,
Jes
^ permalink raw reply [flat|nested] 14+ messages in thread