> Hi,
> 
> Thanks for the fun question :)

Well I figured this was way way to trivial a test to go wrong here and be 
damned if I could see what my problem was. I just, you know, had to post this 
thing and hope no one came back and said "found the problem, you're an idiot!"  
:-)

> The problem is that _POSIX_SOURCE 1 means that memalign() doesn't get 
> defined. You're using -erroff=%all which suppressed the warning message.

  arggghh .. lovely  

I was using -Xa in the CFLAGS and really should have been -Xc to enforce the 
usage of the _POSIX_SOURCE define. At least, I think so.  I need that in a much 
larger project in order to enforce portability over to Red Hat and quite 
frankly I told the project managers, hey, we are running Niagara/Fujitsu 
servers, can we just stay there ? Pretty please? :-\
 
> Here's a short example:
> 
> #define _POSIX_SOURCE 1
> #include <stdlib.h>
> #include <stdio.h>
> 
> int main()
> {
>    char * buffer;
>    printf("%i\n",sizeof(size_t));
>    buffer=(char*)memalign(64,8);
>    buffer[0]='\0';
> }
> 
> 
> cc -m64 -g -xs m.c
> "m.c", line 9: warning: implicit function declaration: memalign
> 
> ./a.out
> 8
> Segmentation Fault (core dumped)
> 
> Because memalign is not defined in the header files it gets implicitly 
> 
> declared returning an int rather than a void*, so the top half of the 
> 
> pointer gets thrown away.
> 
> if you add the prototype
> 
> long long memalign(long long, long long);
> 
> the program works. But I wonder whether you need the _POSIX_SOURCE 
> definition.

I  don't think I need it at all, however it is a spec being tossed at me by 
people that read a book once.   So thank you and Garrett for getting back to me 
so quickly. I am mostly happy to see the same names and a chunk of email from a 
maillist I once knew and loved. Oh .. the nostalgia ..

Dennis 

ps: I have all your books. Yes .. all of them.  :-)


_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to