[M3devel] dtoa.h?
Tony Hosking
hosking at cs.purdue.edu
Mon Mar 17 15:19:04 CET 2008
How was dtoa compiled? That code is a fragile part of the run-time
system that uses C that breaks with some C compilers. (See why I hate
non-portable C!).
Antony Hosking | Associate Professor | Computer Science | Purdue
University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484
On Mar 17, 2008, at 6:11 AM, Jay wrote:
> any advise to for debuging..I think I'll just turn off
> optimization..that fixed it...no patience to debug codegen bugs or
> anything in dtoa..confusing stuff...
> This wasn't occuring..but now I can repro it consistently compiling
> some of m3core/extended*, m3core/real*, m3core/longreal*. The rest
> of m3core compiles ok..
>
> Program received signal SIGSEGV, Segmentation fault.
> mult (a=0x1426860, b=0x1426880) at ..//src//Csupport//Common/dtoa.h:
> 535
> 535 *x = 0;
> (gdb) bt
> #0 mult (a=0x1426860, b=0x1426880) at ..//src//Csupport//Common/
> dtoa.h:535
> #1 0x00626721 in pow5mult (b=0x1426880, k=1185)
> at ..//src//Csupport//Common/dtoa.h:620
> #2 0x00628011 in m3_dtoa (d=4.9406564584124654e-324, mode=2,
> ndigits=14,
> decpt=0x22bc74, sign=0x22bc60, rve=0x22bc68)
> at ..//src//Csupport//Common/dtoa.h:2224
> #3 0x0061534d in Convert__InternalFromLongFloat
> (M3_CKMnXU_buf=0x22be58,
> M3_CtKayy_v=4.9406564584124654e-324, M3_AcxOUs_p=13,
> M3_BTpO8m_style=2 '\002', M3_Bkn9rd_exponentChar=88 'X')
> at ..\src\convert\Convert.m3:367
> #4 0x00614c1f in Convert__FromExtended (M3_CKMnXU_buf=0x22be58,
> M3_C4YHmT_v=4.9406564584124654e-324, M3_AcxOUs_p=13,
> M3_BTpO8m_style=2 '\002') at ..\src\convert\Convert.m3:282
> #5 0x005bb6ca in M3Buf__PutFloat (M3_DmgyYA_t=0x7fe9d290,
> M3_DYj8sa_f=0x7fed4b5c) at ..\src\M3Buf.m3:156
> #6 0x005760c9 in ReelExpr__GenFPLiteral (M3_DopDyP_p=0x7fed4b4c,
> M3_DmgyYA_buf=0x7fe9d290) at ..\src\exprs\ReelExpr.m3:278
> #7 0x0054bf68 in Expr__GenFPLiteral (M3_ES44mX_t=0x7fed4b4c,
> M3_DmgyYA_mbuf=0x7fe9d290) at ..\src\exprs\Expr.m3:224
> #8 0x005301b2 in Constant__AddFPTag (M3_AjdbKy_t=0x7fed4abc,
> M3_BlO1Kl_x=0x22bf68) at ..\src\values\Constant.m3:225
> #9 0x004cb94c in Value__AddFPTag (M3_EjfEr4_t=0x7fed4abc,
> M3_BlO1Kl_x=0x22bf68) at ..\src\values\Value.m3:143
> #10 0x004cb6e1 in Value__ToFP (M3_D9M1dT__result=0x22bff4,
> M3_EjfEr4_t=0x7fed4abc) at ..\src\values\Value.m3:120
> #11 0x004cbec3 in Value__Declare (M3_EjfEr4_t=0x7fed4abc)
> at ..\src\values\Value.m3:202
> #12 0x004bb7dd in Scope__Enter (M3_DurAC9_t=0x7fed48e0)
> at ..\src\misc\Scope.m3:239
> #13 0x004b2d70 in Module__CompileInterface (M3_DZ1mTg_t=0x7fecf77c)
> at ..\src\values\Module.m3:870
> #14 0x004b2985 in Module__Compile (M3_DZ1mTg_t=0x7fecf77c)
> at ..\src\values\Module.m3:836
> #15 0x0049fd4d in M3Front__DoCompile () at ..\src\misc\M3Front.m3:196
> #16 0x0049f37a in M3Front__Compile (M3_AT7GN4_input=0x22c1ec,
> M3_AUoUsm_env=0x7fec084c, M3_BySCJy_options=0x7ff6415c)
> at ..\src\misc\M3Front.m3:64
> #17 0x0040aad8 in Builder__RunM3 (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fecc1dc, M3_Bd56fi_object=0x7ff640e8)
> at ..\src\Builder.m3:1454
> #18 0x0040927b in Builder__PushOneM3 (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fecc1dc) at ..\src\Builder.m3:1125
> #19 0x00408e94 in Builder__CompileM3 (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fecc1dc) at ..\src\Builder.m3:1076
> #20 0x00407b15 in Builder__CompileOne (M3_Bd9FNt_s=0x7ff3de1c,
> ---Type <return> to continue, or q <return> to quit---q
> M3_AXLf8B_u=0x7fQuit
> ) at ..\src\Builder.m3:911
> #21 0x00409f46 in Builder__CheckImp (M3_Bd9FNt_s=0x7ff3de1c,
> M3_A7mgsK_u=0x7ff79d54, M3_EIVwTa_z=0x7ff79d68, M3_A2QN6Z_kind=1
> '\001')
> at ..\src\Builder.m3:1292
> #22 0x00409e45 in Builder__CheckImports (M3_Bd9FNt_s=0x7ff3de1c,
> M3_A7mgsK_u=0x7ff79d54) at ..\src\Builder.m3:1279
> #23 0x00409acf in Builder__M3isStale (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fe5c270) at ..\src\Builder.m3:1229
> #24 0x00408e4b in Builder__CompileM3 (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fe5c270) at ..\src\Builder.m3:1071
> #25 0x00407b15 in Builder__CompileOne (M3_Bd9FNt_s=0x7ff3de1c,
> M3_AXLf8B_u=0x7fe5c270) at ..\src\Builder.m3:911
> #26 0x004077e7 in Builder__CompileEverything (M3_Bd9FNt_s=0x7ff3de1c,
> M3_Cw4bpV_schedule=0x7ff247f0) at ..\src\Builder.m3:871
> #27 0x0040391d in Builder__CompileUnits (M3_Bd56fi_main=0x7ff67014,
> M3_EEuw3X_units=0x7ff7e73c, M3_C1FTrk_sys_libs=0x7ff3dd60,
> M3_A2QN6Z_info_kind=17 '\021', M3_An02H2_mach=0x7ff7e63c)
> at ..\src\Builder.m3:239
> #28 0x0040250a in Builder__BuildLib (M3_Bd56fi_lib=0x7ff67014,
> M3_EEuw3X_units=0x7ff7e73c, M3_C1FTrk_sys_libs=0x7ff3dd60,
> M3_AicXUJ_shared=1 '\001', M3_An02H2_m=0x7ff7e63c) at ..\src
> \Builder.m3:36
> #29 0x0041afd0 in M3Build__DoLibrary (M3_An02H2_m=0x7ff7e63c,
> M3_AcxOUs_n_args=1) at ..\src\M3Build.m3:1365
> #30 0x00477f27 in QMachine__DoCall (M3_An02H2_t=0x7ff7e63c,
> M3_AcxOUs_n_args=1, M3_AicXUJ_isFunc=0 '\0', M3_AicXUJ_outer=0
> '\0')
> at ..\src\QMachine.m3:529
> #31 0x00476f1d in QMachine__Eval (M3_An02H2_t=0x7ff7e63c)
> at ..\src\QMachine.m3:405
> #32 0x0047f1f3 in QMachine (M3_An02H2_t=0x7ff7e63c,
> M3_Bd56fi_path=0x7ff939b0, M3_AicXUJ_from_code=0 '\0')
> at ..\src\QMachine.m3:1660
> #33 0x0047f038 in QMachine (M3_An02H2_t=0x7ff7e63c,
> M3_Bd56fi_path=0x7ff939b0)
> at ..\src\QMachine.m3:1631
> #34 0x00417959 in M3Build (M3_ABp1Zk_t=0x7ff7e63c,
> M3_Bd56fi_file=0x7ff939b0)
> at ..\src\M3Build.m3:579
> #35 0x0041935f in M3Build__DoIncludeDir (M3_An02H2_m=0x7ff7e63c,
> M3_AcxOUs_n_args=1) at ..\src\M3Build.m3:954
> #36 0x00477f27 in QMachine__DoCall (M3_An02H2_t=0x7ff7e63c,
> M3_AcxOUs_n_args=1, M3_AicXUJ_isFunc=0 '\0', M3_AicXUJ_outer=0
> '\0')
> at ..\src\QMachine.m3:529
> #37 0x00476f1d in QMachine__Eval (M3_An02H2_t=0x7ff7e63c)
> at ..\src\QMachine.m3:405
> #38 0x004756ef in QMachine__Evaluate (M3_An02H2_t=0x7ff7e63c,
> M3_CYwAos_s=0x7ff93568) at ..\src\QMachine.m3:154
> #39 0x00486ad2 in Quake__Run (M3_An02H2_m=0x7ff7e63c,
> ---Type <return> to continue, or q <return> to quit---q
> M3_Bd56fi_source_file=0x7Quit
> ) at ..\src\Quake.m3:19
> #40 0x00415ee7 in M3Build__Run (M3_ABp1Zk_t=0x7ff7e63c,
> M3_Bd56fi_makefile=0x7ff9243c) at ..\src\M3Build.m3:183
> #41 0x0042c706 in Main__DoIt () at ..\src\Main.m3:81
> #42 0x0042c9dc in Main_M3 (M3_AcxOUs_mode=1) at ..\src\Main.m3:195
> #43 0x005fa1ee in RTLinker__RunMainBody (M3_DjPxE3_m=0x63c020)
> at ..\src\runtime\common\RTLinker.m3:399
> #44 0x005f9719 in RTLinker__AddUnitI (M3_DjPxE3_m=0x63c020)
> at ..\src\runtime\common\RTLinker.m3:113
> #45 0x005f97a0 in RTLinker__AddUnit (M3_DjPxE5_b=0x42c9c7)
> at ..\src\runtime\common\RTLinker.m3:122
> #46 0x00401085 in main (argc=1, argv=0x14218e8, envp=0x1420090)
> at _m3main.mc:4
>
>
>
>
>
> Helping your favorite cause is as easy as instant messaging. You IM,
> we give. Learn more.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080317/44061f5c/attachment-0002.html>
More information about the M3devel
mailing list