This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos 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]

powerpc/mpc8xx HAL fix


The recently added function _mpc8xx_reset referenced MSR_ME, but did
not define CYGARC_HAL_COMMON_EXPORT_CPU_MACROS. Hence there would be a
#define for CYGARC_REG_MSR_ME, but not for plain MSR_ME.

With binutils 2.13.1. this confused the assembler. It started to treat
MSR_ME as an external symbol and generated relocs, but not completely.
The resulting .o file was invalid, and the linker segv'd. I do not
understand how this code could have worked with older tools either.

Bart

2003-01-18  Bart Veer  <bartv@ecoscentric.com>

	* src/variant.S: _mpc8xx_reset caused build failures with current
	tools.

Index: variant.S
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/powerpc/mpc8xx/current/src/variant.S,v
retrieving revision 1.5
diff -u -u -r1.5 variant.S
--- variant.S	2 Dec 2002 20:42:58 -0000	1.5
+++ variant.S	19 Jan 2003 11:56:49 -0000
@@ -100,7 +101,7 @@
         ori     r3,r3,0x0080  // Bit 24
 	stw	r3,PLPRCR(r4)
         mfmsr   r3
-        lwi     r5,~MSR_ME
+        lwi     r5,~CYGARC_REG_MSR_ME
         and     r3,r3,r5
         mtmsr   r3
 


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