GAS patch for sh*-unknown-linux-gnu

Ralf Corsepius corsepiu@faw.uni-ulm.de
Wed Oct 3 06:16:00 GMT 2001


Am Mit, 2001-10-03 um 14:06 Uhr schrieb NIIBE Yutaka:
> Ralf Corsepius wrote:
>  > Well, I am not sure if this patch is a good idea.
>  > IMHO, it introduces compatibility problems and complications at doubtful
>  > benefits:
> 
> Could you please read the patch, and possibly test it?
> It doesn't change any sh target except sh*-unknown-linux-gnu
This is exactly what I am referring to:

It changes the behavior of "sh-*-as" from always using bigendian (except
wince) by default into something indeterministically, requiring
different flags for different "sh-*-as" variants, introducing additional
complication to configurations (configure-scripts), Makefiles etc.

I would prefer all sh-*-as variants to exhibit the same behavior on all
targets. WinCE not doing so already is bad enough, IMO.

>  > * -big would be redundant to -little and actually is of little use for
>  > all sh users but linux-gnu users.
> 
> When little endian is default, we need -big.

Well, IMHO the word "need" is false, here.

You could easily provide -little from inside gcc if you want to make
_gcc_ to default to little endianness and let a -big option be handled
there.

Similar procedures are applied to many other architectures as well.
I am even inclined to say having an "as" which does not need any other
option can rarely be met anywhere.

>  > Additionally, I also do not understand why a new variable
>  > "target_big_endian" shall be used instead of "shl". AFAIU, it breaks
>  > sourcecode backward compatibility at no real functional benefits.
> 
> It is not new variable.  The variable "target_big_endian" is used
> every other targets.  SH target uses "shl" in some not clear reason.
OK, I haven't known about this. I only noticed that your patch would
break my experimental patches for reasons being not obvious to me.

Ralf





More information about the Binutils mailing list