Re: a question regarding <sys/shm.h>



Robert Watson <rwatson@xxxxxxxxxxx> wrote:

On Wed, 31 Jan 2007, Dag-Erling Smørgrav wrote:

Pascal Hofstee <caelian@xxxxxxxxx> writes:
Any additional sugestions/objections are always greatly appreciated.

On 32-bit platforms (i386, powerpc), int is a 32-bit signed integer while
size_t is a 32-bit unsigned integer.

On 64-bit platforms (amd64, sparc64 etc), int is a 32-bit signed integer
while size_t is a 64-bit unsigned integer.

In both cases, changing this structure member from int to size_t will break
the ABI.

This doesn't mean you shouldn't do it, just that it should be done with
care.

If we do decide to go ahead with the ABI change, there are a number of other
things that should be done simultaneously, such as changing the uid and gid
fields to uid_t and gid_t.

struct tm's members could be changed as well.

Quoting a response I got from Juliusz Chroboczek
(the author of Polipo) after reporting a compiler
warning:

|By the way, IEEE 1003.1-2003 says that tv_sec should be a time_t,
|hence by making it a long, FreeBSD and NetBSD are violating the POSIX
|standard. Could you please file a bug report with them?

I didn't find any claims about FreeBSD being IEEE 1003.1-2003
compliant and therefore didn't consider it a bug, but given that
the topic is *_t changes and time_t hasn't come up yet,
I'd like to mention it anyway.

Fabian

Attachment: signature.asc
Description: PGP signature