This is the mail archive of the binutils@sources.redhat.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: GAS patch for sh*-unknown-linux-gnu


* Ralf Corsepius <corsepiu@faw.uni-ulm.de> on Wed, Oct 03, 2001:

> 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.
> 

Huh?  You may want to actually look at other targets before making vague
assumptions.  Nearly every GAS target from alpha to z8k uses
TARGET_BYTES_BIG_ENDIAN, and SH is one of the few missing from that list.
The current "shl" behaviour is wrong, plain and simple.  The configure
script should be able to set the endianness default, not a hack in the
tc-sh.c file.

See the tc-*.h files in gas/config for more information.

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

WinCE for SH is only a little-endian target.  There are no big-endian WinCE
machines.

> 
> 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.
> 

Elaborate.  What other targets?  All other targets seem to be doing the
correct thing, where SH deviates from the norm.

> 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.
> 

Yes, changing the default endianness is huge, but if you can find a commodity
big-endian SH machine that runs Linux (not talking about exp. boards where
you can toggle endianness), then setting the default endianness for
sh-linux targets is not an issue.

Do your experimental patches deal with the sh-linux target?  Across
binutils and gcc?  Seems like you also need to provide supporting arguments
against NIIBE's patches, now that their intention has been made abundantly
clear.

M. R.


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