jand@kuling.UUCP (Jan Dj{rv) (11/14/90)
Hi all.
I get a memory fault with perl PL 40 on a HP 9000/835 when I run
Larrys (now very old version of?) metaconfig.
It's a normal substitution which causes the core dump. In the perl code it's
a call to free() which causes the fault.
I can't isolate the error on a smaller scale so I guess some memory
corruption is involved. I did compile perl with -lmalloc (which is said
to be better that the malloc in libc.a) but it didn't help.
This didn't happen in previous patchlevels of perl and it doesn't happen on
HP 9000 series 300 so perl is probably innocent.
Compiling with perls malloc solves the problem. I therefore recommend all
HP users to compile with perl:s malloc.
However, since HP 9000/800 (HP Precision Architecture) alignes (sp?) double
on a eight byte boundary, malloc.c needs a little patch:
*** malloc.c.Distr Tue Nov 13 15:48:08 1990
--- malloc.c Tue Nov 13 15:48:24 1990
***************
*** 56,62 ****
*/
union overhead {
union overhead *ov_next; /* when free */
! #if defined(mips) || defined(sparc) || defined(luna88k)
double strut; /* alignment problems */
#endif
struct {
--- 56,62 ----
*/
union overhead {
union overhead *ov_next; /* when free */
! #if defined(mips) || defined(sparc) || defined(luna88k) || defined(hp9000s800)
double strut; /* alignment problems */
#endif
struct {
Jan D.