unix多线程问题
今天将一个多线程程序由linux移植到AIX Unix遇到问题,Linux下运行程序正常,但unix下却coredump了,用dbx分析,发现其中有个函数,定义了结构体变量,其空间为129080,如果将该结构体空间改成100,程序能通过。问题:AIX中多线程是不是有什么限制,如栈空间?为啥Linux就可以?
附上:
Segmentation fault in fc_pkg2 at 0x1000207c ($t2)
0x1000207c (fc_pkg2+0x24) 7c21616e stwux r1,r1,r12
(dbx) where
fc_pkg2() at 0x1000207c
test_pthread(data = (nil)), line 29 in "cdb_main.c"
(dbx) x
$r0:0x100038a4 $stkp:0x30006230 $toc:0x300008e0 $r3:0x30006280
$r4:0x30047458 $r5:0x30047408 $r6:0x00000000 $r7:0x30000658
$r8:0x1028c16b $r9:0x1028c16b $r10:0x00000000 $r11:0x00000000
$r12:0xfffe0550 $r13:0x00000000 $r14:0x00000000 $r15:0x00000000
$r16:0x00000000 $r17:0x00000000 $r18:0x00000000 $r19:0x00000000
$r20:0x00000000 $r21:0x00000000 $r22:0x00000000 $r23:0x00000000
$r24:0x00000000 $r25:0x00000010 $r26:0x30047408 $r27:0x100074c4
$r28:0x10007028 $r29:0x00000000 $r30:0x300062b8 $r31:0x30006280
$iar:0x1000207c $msr:0x0000d032 $cr:0x42000224 $link:0x100038a4
$ctr:0xd0132880 $xer:0x20000017 $mq:0x00000000
Condition status = 0:g 1:e 5:e 6:e 7:g
[unset $noflregs to view floating point registers]
[unset $novregs to view vector registers]
in fc_pkg2 at 0x1000207c ($t2)
0x1000207c (fc_pkg2+0x24) 7c21616e stwux r1,r1,r12