http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45351
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-07-19 14:14:22 UTC --- You mean that __alignof (sem_t) is 2, yet librt assumes it is 4 byte aligned? These proprietary OSes are of terrible quality. You could add config/osf/sem.h, which would be a copy of config/posix/sem.h, just gomp_sem_t would be typedef sem_t gomp_sem_t __attribute__((aligned (__alignof__ (int)))); or something similar, and in configury ensure that this directory is searched on these buggy OSes before config/posix/.