On Sun, 29 Apr 2012 09:43:02 -0400 Robert Dewar <de...@adacore.com> wrote:
> On 4/29/2012 9:25 AM, Andreas Schwab wrote: > > Robert Dewar<de...@adacore.com> writes: > > > >> Just to be clear, there is nothing in the standard that forbids the > >> sizes being different AFAIK? I understand that both gcc and apps > >> may make unwarranted assumptions. > > > > POSIX makes that assumption, via the dlsym interface. > > that's most unfortunate, I wonder why this assumption was ever > allowed to creep into the POSIX interface. I wonder if it was > deliberate, or accidental? IIRC, some old POSIX drafts proposed to add another function, perhaps dlfsym, http://www.opengroup.org/sophocles2/show_mail.tpl?CALLER=show_archive.tpl&source=L&listname=austin-group-l&id=3761 whiwh would be used for functions, and would be compatible with function pointers of different size than data pointers. But it didn't make into the proposal. My biased point of view is that designing a processor instruction set (for POSIX-like systems or standard C software in mind) with function pointers of different size than data pointers is today a mistake: most software make the implicit assumption that all pointers have the same size. Regards. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mine, sont seulement les miennes} ***