[Bug rtl-optimization/36111] [4.4 Regression] GCC 4.4.0-20080501 failed to compile openmpi's malloc.c file.
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat May 3 09:50:00 GMT 2008
------- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-03 09:50 -------
Confirmed. Reduced testcase that fails with -O2 -fPIC:
typedef struct {
volatile unsigned int lock;
int pad0_;
} mutex_t;
struct malloc_state {
mutex_t mutex;
};
static struct malloc_state main_arena;
static __inline__ void mutex_lock(mutex_t *m)
{
int r;
for(;;)
__asm__ __volatile__ ("xchgl %0, %1"
: "=r"(r), "=m"(m->lock)
: "0"(1), "m"(m->lock)
: "memory");
}
void __malloc_check_init()
{
mutex_lock(&main_arena.mutex);
}
4.3.0 seems to work (yes, with checking enabled).
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
Component|inline-asm |rtl-optimization
Keywords| |ice-on-valid-code
Known to work| |4.3.0
Last reconfirmed|0000-00-00 00:00:00 |2008-05-03 09:50:05
date| |
Summary|GCC 4.4.0-20080501 failed to|[4.4 Regression] GCC 4.4.0-
|compile openmpi's malloc.c |20080501 failed to compile
|file. |openmpi's malloc.c file.
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36111
More information about the Gcc-bugs
mailing list