[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: RH XFree86 spec file question



>>> Craig P Prescott said:
> 
> Was building XFree86 on my EV45 (aka 21064A) AlphaStation 250 last
> night, and I was wondering why everything was getting compiled with
> "-Wa,-m21164a".  Then saw this in the spec file:
> 
> %ifarch alpha
> make World -C xc CDEBUGFLAGS="$RPM_OPT_FLAGS -Wa,-m21164a"
> # we are having problems with the compiler on alpha.
> make -C xc/programs/xterm CDEBUGFLAGS="-Wa,-m21164a"
> 
> Anyway, this just seemed kinda weird, so I thought I'd ask about it
> (I'm sure I'll learn something).  Anybody know what is up with this?
> Just seems like a bad idea to tell the assembler (in my case) the
> wrong chip...

First off, the -Wa,-m21164a is a flag for GAS, the assembler. It says to
allow instructions that are supported on the 21164A, aka EV56 CPU, or later
ones, to be processed if found in the assembly code the compiler
generates. Without this flag, the assembler will give an error if it finds
any instructions that are not supported on the base EV4/EV5 CPUs, which
would include the byte/word ones. And the compiler is not being told to
generate those instructions; that requires the -mcpu= flag, IIRC.

Secondly, those byte/word ones are *required* in order for certain
operations, that the Xserver needs to do, to work correctly on the EV6
CPU. They appear only in "__asm__" constructs, and they will only be
executed if the Xserver is actually running on an EV6 machine, so there's no
problem on older ones. They are there because we want a single Xserver
binary to work on all the Alpha CPUs, much along the same lines as the
"generic" kernels that are now available.

--Jay++

---------------------------------------------------------------
Jay A Estabrook                       Alpha Engineering - LINUX
Compaq Computer Corp. - MRO1-2/K20    (508) 467-2080
200 Forest Street, Marlboro MA 01752  Jay.Estabrook@compaq.com
---------------------------------------------------------------



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []