This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


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

RE: Patch H8300/S Bit Instruction Relaxing




-----Original Message-----
 In message <A191B1036355D3119ABC0000E8E3B2F16A50@SERVER01>you write:
  > Regarding the concern that a :8 memory reference at 'FF02 could as a
result
  > of the text segment relaxing move outside of the 'FF00-'FFFF (eight bit
  > area),
  > I offer these reasons why it is unlikely to occur.
Unlikely is not good enough.  It must not ever happen, you must be able to 
prove it can not happen.  And my recollection is that it can happen (i wrote
the code in question).

jeff

Jeff,

I an unfamiliar with the inner workings of the linker, can you help with the
following. 

The trivial case when a memory reference is defined for the linker 
eg _FirstEightbitAddr = 0xFFFF00
can always be relaxed, as the memory reference is unaffected by the
relaxing.
Question Does the linker know that the memory reference is fixed?

A memory reference in a non code section, with a fixed starting address 
is also unaffected by relaxing. Question Can the linker determine this for a

memory reference?

A memory reference in a section totally contained within the 16 bit area
0000 - 7FFF can be relaxed. After relaxing the reference will still be
inside the 0000-7fff area. H8300 8 bit addressing not possible in this area.

A memory reference in a code section or with a starting address 
dependant on a code section could cause problems. Save this one for later.


Paul

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