> > I've pretty much localized the problem. It's a GCC middle-end bug. > > The problem is in passing a complex double from a thunk. The hppa > > specification says that values larger than 64 bits are passed by > > reference in the 32-bit runtime. However, the value is in a pair > > of registers and not copied to memory. This doesn't happen in calls > > from normal functions because the value gets copied to a stack slot. > > I'm slightly confused about "stack slot". Could the "pass by reference" > refer to the address in the stack? The reference can refer to a location on the stack (region allocated for locals). However, values larger than 64 bits can't be passed in the argument slots. Dave -- J. David Anglin dave.anglin@xxxxxxxxxxxxxx National Research Council of Canada (613) 990-0752 (FAX: 952-6602) -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html