This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH][BZ 18960] setlocale.c: Mark *_used symbols as unaligned.
- From: Rich Felker <dalias at libc dot org>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Marcin KoÅcielnicki <koriakin at 0x04 dot net>, libc-alpha at sourceware dot org
- Date: Mon, 28 Sep 2015 11:05:48 -0400
- Subject: Re: [PATCH][BZ 18960] setlocale.c: Mark *_used symbols as unaligned.
- Authentication-results: sourceware.org; auth=none
- References: <1443360385-20079-1-git-send-email-koriakin at 0x04 dot net> <20150928141824 dot GX17773 at brightrain dot aerifal dot cx> <5609541A dot 5070500 at redhat dot com>
On Mon, Sep 28, 2015 at 04:52:10PM +0200, Florian Weimer wrote:
> On 09/28/2015 04:18 PM, Rich Felker wrote:
>
> > Can you explain how/why you think this is needed? char has no
> > alignment requirements (inherently) so as far as I can tell, the
> > compiler may not make any alignment assumptions about an extern object
> > of type char.
>
> s390(x) expects all top-level objects in the data segment to be aligned
> to at least 2. As far as I can tell, this is not explicitly mentioned
> in the psABI supplement, but it is heavily implied by .align directives
> and use of the lalr instruction.
So reading chars via a pointer or array is slower than reading a
single non-array char object? Uhg...what an awful ISA. Thanks for the
explanation, though.
Rich