[M3devel] cm3cg failing on linuxlibc6

Rodney M. Bates rodney_bates at lcwb.coop
Fri May 27 20:45:31 CEST 2016


I got around this problem by setting Alloca_jmpbuf back to TRUE in

m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 and m3-sys/m3middle/src/Target.m3

I am trying to remember, but as I recall, TRUE was failing on some other platform,
and the change was reverted.  But now FALSE is failing on LINUXLIBC6 and TRUE
is working there.

What do you remember about this, Jay?


On 05/23/2016 01:40 PM, Rodney M. Bates wrote:
>
>
>
> I did git pull and rebuilt on LINUXLIBC6.  The built cm3 executable crashes compiling
> a very small experiment program:
>
>    rodney at yellowstone:~/proj/m3/exp/FmtBug/src$ cm3-
>    Segmentation fault (core dumped)
>
> m3gdb (after I built it) gives this:
>
>    rodney at yellowstone:~/proj/m3/exp/FmtBug/src$ m3gdb cm3-
>    GNU gdb plus Modula-3 6.4
>    Copyright 2005 Free Software Foundation, Inc.
>    GDB is free software, covered by the GNU General Public License, and you are
>    welcome to change it and/or distribute copies of it under certain conditions.
>    Type "show copying" to see the conditions.
>    There is absolutely no warranty for GDB.  Type "show warranty" for details.
>    This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
>
>    (m3gdb) run
>    Starting program: /usr/local/cm3-githead/bin/cm3-
>    [Thread debugging using libthread_db enabled]
>    [New LWP 23615]
>    [New Thread -1216829744 (LWP 23615)]
>
>    Program received signal SIGSEGV, Segmentation fault.
>    [Switching to Thread -1216829744 (LWP 23615)]
>    0x0037c26f in siglongjmp () from /lib/tls/i686/cmov/libc.so.6
>    (m3gdb) bt
>    #0  0x0037c26f in siglongjmp () from /lib/tls/i686/cmov/libc.so.6
>    #1  0x577b2a84 in ?? ()
>    Cannot access memory at address 0xd7a0906f
>    (m3gdb) quit
>
>
> stock gdb gives even less information:
>
>    rodney at yellowstone:~/proj/m3/exp/FmtBug/src$ gdb cm3-
>    GNU gdb (GDB) 7.1-ubuntu
>    Copyright (C) 2010 Free Software Foundation, Inc.
>    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>    This is free software: you are free to change and redistribute it.
>    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>    and "show warranty" for details.
>    This GDB was configured as "i486-linux-gnu".
>    For bug reporting instructions, please see:
>    <http://www.gnu.org/software/gdb/bugs/>...
>    Reading symbols from /usr/local/cm3-githead/bin/cm3-...done.
>    (gdb) run
>    Starting program: /usr/local/cm3-githead/bin/cm3-
>    [Thread debugging using libthread_db enabled]
>
>    Program received signal SIGSEGV, Segmentation fault.
>    0x0032e26f in ?? () from /lib/tls/i686/cmov/libc.so.6
>    (gdb) bt
>    #0  0x0032e26f in ?? () from /lib/tls/i686/cmov/libc.so.6
>    #1  0xfb35d04b in ?? ()
>    Cannot access memory at address 0x7bee2da0
>    (gdb)
>
> Note that gdb gives a different address in the same library for the point of fault.
>
> m3gdb claims it's in siglongjmp.  I recall there were some recent changes involving
> longjump.
>
>
>
>
>
> On 05/22/2016 09:28 PM, Peter McKinna wrote:
>  > I dont know what changed but the backend is crashing on linuxlibc6 when compiled with -O Try compiling m3core.
>  >
>  > Also some of my low level tests with Long.And and Long.Shift are not working with
>  > normal compile without the optimisations on that platform. Bit suspicious. I'm still investigating.
>  >
>  > Anyone got any clues or can replicate?
>  >
>  > Thanks Peter
>  >
>  >
>  >
>  >
>  > _______________________________________________
>  > M3devel mailing list
>  > M3devel at elegosoft.com
>  > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
>  >
>
>

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the M3devel mailing list