Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130501200007.GM20323@brightrain.aerifal.cx>
Date: Wed, 1 May 2013 16:00:07 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: sign (in)consistency between architectures

On Wed, May 01, 2013 at 08:00:15PM +0200, Szabolcs Nagy wrote:
> * Z. Gilboa <zg7s@...rvices.virginia.edu> [2013-05-01 13:05:03 -0400]:
> > The current architecture-specific type definitions
> > (arch/*/bits/alltypes.h) seem to entail the following inconsistent
> > signed/unsigned types:
> > 
> > type      x86_64        i386
> > -------------------------------
> > uid_t     unsigned      signed
> > gid_t     unsigned      signed
> > dev_t     unsigned      signed
> > clock_t   signed        unsigned
> 
> 
> i can verify that glibc uses unsigned
> uid_t,gid_t,dev_t and signed clock_t
> 
> of course applications should not depend on
> the signedness, but if they appear in a c++
> api then the difference can cause problems
> 
> and cock_t may be used in arithmetics where
> signedness matters

uid_t, gid_t, and dev_t we can consider changing; I don't think it
matters a whole lot and like you said they affect C++ ABI. clock_t
cannot be changed without making the clock() function unusable. See
glibc bug #13080 (WONTFIX):

http://sourceware.org/bugzilla/show_bug.cgi?id=13080

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.