public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* gate.S and recent toolchains
@ 2006-03-29 16:07 Jes Sorensen
  2006-03-29 16:51 ` Russ Anderson
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Jes Sorensen @ 2006-03-29 16:07 UTC (permalink / raw)
  To: linux-ia64

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.

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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2006-03-30 10:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2006-03-29 17:23 ` Russ Anderson
2006-03-29 17:27 ` Chen, Kenneth W
2006-03-29 17:31 ` Russ Anderson
2006-03-29 18:03 ` Jes Sorensen
2006-03-29 18:03 ` Jes Sorensen
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox