This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] aarch64 sim big-endian support
- From: Nick Clifton <nickc at redhat dot com>
- To: Jim Wilson <jim dot wilson at linaro dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 30 Jun 2016 09:13:40 +0100
- Subject: Re: [PATCH] aarch64 sim big-endian support
- Authentication-results: sourceware.org; auth=none
- References: <CABXYE2UfwrSxRADdgFRuBJzTM-1_DPaP5LJSULSQ-808X8dccQ at mail dot gmail dot com> <CABXYE2XbZ3ANw2BBf79Lvtn0=VbhKXQn7Gmn0RkwR6_89mFBcw at mail dot gmail dot com> <a3725d02-298b-2323-4716-22eed88b8e0c at redhat dot com> <CABXYE2XPToNdOMvrp5HMh+Lk=5VND7vZk5V1vkHKw4Kg5NW0sw at mail dot gmail dot com>
Hi Jim,
> The problem is with the
> GRegisterValue untion. You have
> typedef union GRegisterValue
> {
> int8_t s8;
> ...
> int64_t s64;
> } GRegister;
> On a little-endian host, the s8 member will match the low-byte of the
> s64 member, which is what we want. However, on a big-endian host, the
> s8 member will match the high-byte of the u64 member, and the
> simulator fails.
Ah, yes. I had not considered this.
> Fixing the problem this way means that we require either an ISO C 2011
> compiler, or a compiler that supports GCC extensions to ISO C 1990 or
> 1999.
I have no problems with this requirement.
I have now checked in your patch (to save time). Thanks very much for
persuing this matter.
Cheers
Nick