All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] [PATCH] getting a working kernel-2.6.0-test1 with gcc > 3.2
@ 2003-07-20 12:05 Ruediger Scholz
  0 siblings, 0 replies; only message in thread
From: Ruediger Scholz @ 2003-07-20 12:05 UTC (permalink / raw)
  To: parisc-linux

[-- Attachment #1: Type: text/plain, Size: 483 bytes --]

Hi there!

I finally found the appropriate patch to add the function 
"canonicalize_funcptr_for_compare" to the kernel. It was in 
ftp://ftp.parisc-linux.org/patches/diff-2.4.21-pa2 . A simple 
cut'n'paste to the kernel source of 2.6.0-test1 gives me a working 
kernel with gcc-3.2 on my 715/100.
I don't know whether more stuff of diff-2.4.21-pa2 could go into 2.6.0, 
so I just make a small patch of this particular problem. Can s.b. please 
check this in?
Greetings,
    Ruediger

[-- Attachment #2: patch.diff --]
[-- Type: text/plain, Size: 1536 bytes --]

Index: linux-2.5/arch/parisc/kernel/parisc_ksyms.c
===================================================================
RCS file: /var/cvs/linux-2.5/arch/parisc/kernel/parisc_ksyms.c,v
retrieving revision 1.21
diff -u -p -r1.21 parisc_ksyms.c
--- linux-2.5/arch/parisc/kernel/parisc_ksyms.c	9 Jun 2003 02:24:25 -0000	1.21
+++ linux-2.5/arch/parisc/kernel/parisc_ksyms.c	20 Jul 2003 11:52:21 -0000
@@ -220,3 +220,6 @@ EXPORT_SYMBOL($$dyncall);

 #include <asm/pgtable.h>
 EXPORT_SYMBOL(vmalloc_start);
+
+asmlinkage void * __canonicalize_funcptr_for_compare(void *);
+EXPORT_SYMBOL_NOVERS(__canonicalize_funcptr_for_compare);

Index: linux-2.5/arch/parisc/kernel/real2.S
===================================================================
RCS file: /var/cvs/linux-2.5/arch/parisc/kernel/real2.S,v
retrieving revision 1.4
diff -u -p -r1.4 real2.S
--- linux-2.5/arch/parisc/kernel/real2.S	14 Jul 2003 15:21:07 -0000	1.4
+++ linux-2.5/arch/parisc/kernel/real2.S	20 Jul 2003 11:52:21 -0000
@@ -275,6 +275,7 @@ r64_ret:
 	nop

 #endif
+
 	.export pc_in_user_space
 	.text
 	/* Doesn't belong here but I couldn't find a nicer spot. */
@@ -283,3 +284,16 @@ pc_in_user_space:
 	bv,n	0(%rp)
 	nop

+	.export __canonicalize_funcptr_for_compare
+	.text
+	/* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
+	**	GCC 3.3 and later has a new function in libgcc.a for
+	**	comparing function pointers.
+	*/
+__canonicalize_funcptr_for_compare:
+#ifdef __LP64__
+       bve (%r2)
+#else
+       bv %r0(%r2)
+#endif
+       copy %r26,%r28

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-07-20 12:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-20 12:05 [parisc-linux] [PATCH] getting a working kernel-2.6.0-test1 with gcc > 3.2 Ruediger Scholz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.