[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
binutils-2.9.1.0.25 + rtems-patches is broken
- Date: Mon, 2 Aug 1999 14:58:06 -0500 (CDT)
- From: joel at OARcorp.com (joel at OARcorp.com)
- Subject: binutils-2.9.1.0.25 + rtems-patches is broken
On 30 Jul 1999, Ian Lance Taylor wrote:
> Date: Fri, 30 Jul 1999 14:53:20 -0500 (CDT)
> From: <joel at oarcorp.com>
>
> it is used like this in i386ex/start/start.S
>
> start.S: movw $0xFFFB, SYM(i8259s_cache) /* set up same values in cache */
>
> I am heading out the door. Any other ideas what could have tripped this?
>
> This instruction appears in a .code16 section. In a .code16 section,
> current versions of gas assume that all addresses are 16 bits unless
> told otherwise.
>
> If you change the line to
> addr32 movw $0xFFFB, SYM(i8259s_cache)
> then you will get a 32 bit address reference.
>
> You may want to use addr32 only when NEW_GAS is defined.
I think the attached patch is what you had in mind.
Ralf .. does this fix the problem on your toolset?
--joel
-------------- next part --------------
Index: start/start.S
===================================================================
RCS file: /usr1/rtems/CVS-PRIVATE/rtems/c/src/lib/libbsp/i386/i386ex/start/start.S,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** start.S 1999/05/11 15:15:03 1.2
--- start.S 1999/08/02 20:26:57 1.3
***************
*** 26,32 ****
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
! * $Id: start.S,v 1.2 1999/05/11 15:15:03 joel Exp $
changes:
--- 26,32 ----
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
! * $Id: start.S,v 1.3 1999/08/02 20:26:57 joel Exp $
changes:
***************
*** 324,330 ****
SetExRegByte(OCW1M , 0xde ) # IR0 only = 0xfe. for IR5 and IR0 active use 0xde
SetExRegByte(INTCFG , 0x00 )
! movw $0xFFFB, SYM(i8259s_cache) /* set up same values in cache */
SYM(SetCS4):
SetExRegWord(CS4ADL , 0x702) #Configure chip select 4
--- 324,339 ----
SetExRegByte(OCW1M , 0xde ) # IR0 only = 0xfe. for IR5 and IR0 active use 0xde
SetExRegByte(INTCFG , 0x00 )
! /*
! * The addr32 override should ensure that the address for
! * i8259s_cache is put in 32-bit address space.
! */
!
! #if defined(NEW_GAS)
! addr32 movw $0xFFFB, SYM(i8259s_cache) # set up same values in cache
! #else
! movw $0xFFFB, SYM(i8259s_cache) # set up same values in cache
! #endif
SYM(SetCS4):
SetExRegWord(CS4ADL , 0x702) #Configure chip select 4