* Re: [PATCH] gcc3 compatibility and debugger support
[not found] <200109061932.OAA12306@lists.linuxppc.org>
@ 2001-09-07 14:44 ` Kaoru Fukui
2001-09-24 2:39 ` Paul Mackerras
1 sibling, 0 replies; 3+ messages in thread
From: Kaoru Fukui @ 2001-09-07 14:44 UTC (permalink / raw)
To: Franz Sirl; +Cc: linuxppc-dev
Great Franz!
I could rebuild working kernel(2.4 devel) with gcc-3.0.2 pre
Thanks
Kaoru
From: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
To: linuxppc-commit@source.mvista.com, linuxppc-dev@lists.linuxppc.org
Subject: [PATCH] gcc3 compatibility and debugger support
Date: Thu, 6 Sep 2001 21:32:59 +0200
> Hi,
>
> this patch fixes up the RELOC macro (which relies on implentation defined
> things in C), so it's possible again to boot a gcc3 compiled kernel. The
> patch guards the problematic code with a NOP inline asm, preventing the
> problematic (but legal) gcc3 optimization.
> The second part makes sure that the current task ends up in a known memory
> location even for UP. This helps JTAG/BDM debuggers a lot (it's very
> expensive to stop CPU/peek CPU reg/restart CPU).
>
> The patch is against 2_4. In 2_4_devel the gcc3 workaround in prom.c can
be
> removed too.
>
> Franz.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gcc3 compatibility and debugger support
[not found] <200109061932.OAA12306@lists.linuxppc.org>
2001-09-07 14:44 ` [PATCH] gcc3 compatibility and debugger support Kaoru Fukui
@ 2001-09-24 2:39 ` Paul Mackerras
2001-09-24 22:09 ` Franz Sirl
1 sibling, 1 reply; 3+ messages in thread
From: Paul Mackerras @ 2001-09-24 2:39 UTC (permalink / raw)
To: Franz Sirl; +Cc: linuxppc-commit, linuxppc-dev
Franz Sirl writes:
> current_set[smp_processor_id()] = new;
> +#else
> + current_set[0] = new;
> #endif /* CONFIG_SMP */
Yuck. Just put the #endif before the line that sets current_set[].
smp_processor_id() is 0 on UP.
Paul.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gcc3 compatibility and debugger support
2001-09-24 2:39 ` Paul Mackerras
@ 2001-09-24 22:09 ` Franz Sirl
0 siblings, 0 replies; 3+ messages in thread
From: Franz Sirl @ 2001-09-24 22:09 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-commit, linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 337 bytes --]
On Monday 24 September 2001 04:39, Paul Mackerras wrote:
> Franz Sirl writes:
> > current_set[smp_processor_id()] = new;
> > +#else
> > + current_set[0] = new;
> > #endif /* CONFIG_SMP */
>
> Yuck. Just put the #endif before the line that sets current_set[].
> smp_processor_id() is 0 on UP.
OK, here is the updated patch.
Franz.
[-- Attachment #2: bk-misc1a.diff --]
[-- Type: text/plain, Size: 1058 bytes --]
===== arch/ppc/kernel/process.c 1.29 vs edited =====
--- 1.29/arch/ppc/kernel/process.c Tue Sep 18 03:19:06 2001
+++ edited/arch/ppc/kernel/process.c Mon Sep 24 19:59:28 2001
@@ -226,8 +226,10 @@
if ((prev->thread.regs && (prev->thread.regs->msr & MSR_VEC)))
giveup_altivec(prev);
#endif /* CONFIG_ALTIVEC */
- current_set[smp_processor_id()] = new;
#endif /* CONFIG_SMP */
+
+ current_set[smp_processor_id()] = new;
+
/* Avoid the trap. On smp this this never happens since
* we don't set last_task_used_altivec -- Cort
*/
===== include/asm-ppc/prom.h 1.20 vs edited =====
--- 1.20/include/asm-ppc/prom.h Wed Aug 29 00:49:25 2001
+++ edited/include/asm-ppc/prom.h Thu Sep 6 21:13:57 2001
@@ -106,7 +106,7 @@
#define PTRRELOC(x) ((typeof(x))((unsigned long)(x) + offset))
#define PTRUNRELOC(x) ((typeof(x))((unsigned long)(x) - offset))
-#define RELOC(x) (*PTRRELOC(&(x)))
+#define RELOC(x) (*({ typeof(x) * __ptr = PTRRELOC(&(x)); __asm__ ("" : "=r" (__ptr) : "0" (__ptr)); __ptr;}))
#endif /* _PPC_PROM_H */
#endif /* __KERNEL__ */
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-09-24 22:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200109061932.OAA12306@lists.linuxppc.org>
2001-09-07 14:44 ` [PATCH] gcc3 compatibility and debugger support Kaoru Fukui
2001-09-24 2:39 ` Paul Mackerras
2001-09-24 22:09 ` Franz Sirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).