[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
binutils-2.9.1.0.25 + rtems-patches is broken
- Date: Thu, 05 Aug 1999 08:32:29 -0700
- From: erik.ivanenko at utoronto.ca (erik.ivanenko)
- Subject: binutils-2.9.1.0.25 + rtems-patches is broken
Sorry for the delay in responding, I was on a small vacation. Tony is correct, that
variable should appear later in the initialization. I thought that had been done already.
Anyway, if possible, initializing as a 'C' file would be far more appropriate.
Tony R. Ambardar wrote:
> I believe I posted about this before, but it can't hurt to point it out
> again. This code fragment doesn't work as expected. The "i8259s_cache"
> variable is in the BSS, and the BSS will just be zeroed after this code
> executes in start.S. The solution is to move the instruction "movw
> $0xFFFB, SYM(i8259s_cache)" to a point after the BSS is zeroed. That area
> runs in 32-bit protected mode, so it should also fix the other problem
> you're seeing.
>
> See start.S in the ts_386ex BSP for an example.
>
> Tony
>
> ____________________________________________________________
> / \
> | Tony R. Ambardar | Department of Electrical & |
> | M.Sc., M.Eng. | Computer Engineering |
> | Email: tonya at ece.ubc.ca | University of British Columbia |
> | Ph: (604) 822-2872 | 2356 Main Mall, Vancouver B.C. |
> | Fax:(604) 822-5949 | V6T 1Z4 CANADA |
> \____________________________________________________________/
>
> On Mon, 2 Aug 1999 joel at oarcorp.com wrote:
>
> > 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 --------------
A non-text attachment was scrubbed...
Name: vcard.vcf
Type: text/x-vcard
Size: 291 bytes
Desc: Card for Erik Ivanenko
Url : http://rtems.rtems.org/pipermail/rtems-users/attachments/19990805/c698d381/attachment.vcf