Patchwork PATCH: PR target/46179: fix for TLS code gen. on 680x0

login
register
mail settings
Submitter Finn Thain
Date Nov. 5, 2010, 11:34 a.m.
Message ID <alpine.OSX.2.00.1011051201300.277@localhost>
Download mbox | patch
Permalink /patch/70252/
State New
Headers show

Comments

Finn Thain - Nov. 5, 2010, 11:34 a.m.
Hi all,

Here's the patch from the bug report, as requested. It is suitable for 
merging on the trunk and the 4.5 branch.

Debian's compiler was bootstrapped with this patch but I have not 
regression tested it myself. (I am preparing a 68040 machine to run test 
suites but it isn't ready yet.)

Regards,
Finn


2010-11-05  Finn Thain  <fthain@telegraphics.com.au>

	PR target/46179
	* config/m68k/m68k.c (handle_move_double): insert calls to 
	m68k_final_prescan_insn to clean up @TLS operand syntax.
Andreas Schwab - Nov. 23, 2010, 10:19 p.m.
Finn Thain <fthain@telegraphics.com.au> writes:

> Debian's compiler was bootstrapped with this patch but I have not 
> regression tested it myself. (I am preparing a 68040 machine to run test 
> suites but it isn't ready yet.)

Did you get ahead with the testing?

Andreas.
Thorsten Glaser - Nov. 23, 2010, 10:31 p.m.
Andreas Schwab dixit:

>Did you get ahead with the testing?

I don’t have any “real hardware”, but I’ve three-stage-bootstrapped
two gcc-4.4 packages and used them for compiling a lot of software
afterwards, so they “should” be fine. (Fitting, today I put a new
eMail signature, which here applies.)

The gcc-4.4 package with this patch is actually in stock unstable
now, so testing (for someone with the hardware) probably amounts
to simply recompiling. (Kernel and eglibc are in unreleased, though.)
Or, use another distro.

bye,
//mirabilos
Finn Thain - Nov. 24, 2010, 3:32 a.m.
On Tue, 23 Nov 2010, Andreas Schwab wrote:

> Finn Thain <fthain@telegraphics.com.au> writes:
> 
> > Debian's compiler was bootstrapped with this patch but I have not 
> > regression tested it myself. (I am preparing a 68040 machine to run 
> > test suites but it isn't ready yet.)
> 
> Did you get ahead with the testing?

Unfortunately I've had to postpone this due to a spike in work demands 
combined with the need to move house next week.

Finn

> 
> Andreas.
> 
>

Patch

diff -pru gcc-4.5-20101021.orig/gcc/config/m68k/m68k.c gcc-4.5-20101021/gcc/config/m68k/m68k.c
--- gcc-4.5-20101021.orig/gcc/config/m68k/m68k.c	2010-06-15 06:01:39.000000000 +1000
+++ gcc-4.5-20101021/gcc/config/m68k/m68k.c	2010-10-29 02:04:44.000000000 +1100
@@ -3478,6 +3478,7 @@  handle_move_double (rtx operands[2],
 
   /* Normal case: do the two words, low-numbered first.  */
 
+  m68k_final_prescan_insn (NULL, operands, 2);
   handle_movsi (operands);
 
   /* Do the middle one of the three words for long double */
@@ -3488,6 +3489,7 @@  handle_move_double (rtx operands[2],
       if (addreg1)
 	handle_reg_adjust (addreg1, 4);
 
+      m68k_final_prescan_insn (NULL, middlehalf, 2);
       handle_movsi (middlehalf);
     }
 
@@ -3498,6 +3500,7 @@  handle_move_double (rtx operands[2],
     handle_reg_adjust (addreg1, 4);
 
   /* Do that word.  */
+  m68k_final_prescan_insn (NULL, latehalf, 2);
   handle_movsi (latehalf);
 
   /* Undo the adds we just did.  */