This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[csl-arm] More TLS load bugs


The attached patch fixes another Arm TLS pointer load bug.

Under certain circumstances the code in final_prescan_insn was 
conditionalizing the TLS pointer load. This is wrong because the routine 
clobbers the condition codes. Attached patch fixes this by setting the 
"conds" attribute appropriately.

Tested with cross to arm-none-linux-gnueabi.
Applied to csl-arm-branch.

Paul

2005-09-15  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.md (load_tp_soft): Set conds attr.
Index: arm.md
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/config/arm/arm.md,v
retrieving revision 1.145.2.36
diff -u -p -r1.145.2.36 arm.md
--- arm.md	7 Sep 2005 20:37:44 -0000	1.145.2.36
+++ arm.md	15 Sep 2005 12:58:15 -0000
@@ -10445,6 +10445,7 @@
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_SOFT_TP"
   "bl\\t__aeabi_read_tp\\t@ load_tp_soft"
+  [(set_attr "conds" "clob")]
 )
 
 ;; Load the FPA co-processor patterns

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]