Mailinglist Archive: opensuse-packaging (80 mails)

< Previous Next >
Re: [opensuse-packaging] strict-aliasing and dlsym
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Sun, 15 Aug 2010 20:34:39 +0200 (CEST)
  • Message-id: <Pine.LNX.4.64.1008152030400.5995@xxxxxxxxxxxxx>
Hi,

On Sun, 15 Aug 2010, Cristian Morales Vega wrote:

http://www.opengroup.org/onlinepubs/9699919799/functions/dlsym.html
What they finally did was adding this to POSIX 2008:

"2.12.3 Pointer Types

All function pointer types shall have the same representation as the
type pointer to void. Conversion of a function pointer to void * shall
not alter the representation. A void * value resulting from such a
conversion can be converted back to the original function pointer
type, using an explicit cast, without loss of information.

Note:
The ISO C standard does not require this, but it is required for
POSIX conformance."

Ahh, so they finally did something about this problem, I wasn't aware of
this.

So gcc is C99 compliant but not POSIX 2008 compliant (and gcc's man
doesn't shows any posix option for -std). Someone feels like opening a
bug report for this to gcc? I don't have the standards knowledge that
will be needed when people starts to argue if POSIX should be
dictating compilers behavior.

It should on platforms that are supposed to be POSIX. Meaning that GCC
should have a mode for POSIX compliance and further that this mode should
be default on Linux. The technical change necessary for this is fairly
small.


Ciao,
Michael.
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >