Yegappan wrote:
> > > When I run the test_vim9_expr.vim test on MacOS with Vim 8.2.2029),
> > > I see that VIm crashes with a bad instruction exception.
> > >
> > > * thread #1, queue = 'com.apple.main-thread', stop reason =
> > > EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
> > >
> > > I see this crash only when building Vim with debug symbols (-g -O0).
> > > If I build Vim without the debug symbols, I don't see this problem.
> > > I also don't see this crash with the ASAN and UBSAN builds.
> > >
> > > Is this a bug in the compiler? I am using the following Clang compiler on
> > > Catalina:
> > >
> > > Apple clang version 12.0.0 (clang-1200.0.32.21)
> > > Target: x86_64-apple-darwin19.6.0
> > >
> > > The complete traceback is below:
> > >
> > > * thread #1, queue = 'com.apple.main-thread', stop reason =
> > > EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
> > > * frame #0: 0x00007fff6af56fca
> > > libsystem_c.dylib`__chk_fail_overflow.cold.1 + 16
> > > frame #1: 0x00007fff6af54214 libsystem_c.dylib`__chk_fail_overflow +
> > 9
> > > frame #2: 0x00007fff6af543f0 libsystem_c.dylib`__strcpy_chk + 83
> > > frame #3: 0x000000010029287b
> > > vim`add_vim9_script_var(di=0x0000000100606550, tv=0x00007ffeefbf9178,
> > > type=0x0000000000000000) at vim9script.c:604:2
> >
> > This is:
> >
> > STRCPY(&newsav->sav_key, di->di_key);
> >
> > And "sav_key" is a one byte array, that is actually longer. This looks
> > like the FORTIFY_SOURCE problem. Configure only adds this for GCC 4 and
> > higher, perhaps we also need it for clang?
> >
> > You could try adding this to the clang command:
> > -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
>
> With FORTIFY_SOURCE, I am not able to reproduce the problem.
Good to know that's the cause of the problem.
Can you please try to adjust the configure script for this?
Currently that part is only used for gcc. I wonder since what version of
clang these arguments are supported.
This is around line 4437 in src/configure.ac. You'll need to run "make
autoconf" to try it out.
--
ARTHUR: Who are you?
TALL KNIGHT: We are the Knights Who Say "Ni"!
BEDEVERE: No! Not the Knights Who Say "Ni"!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/202011212042.0ALKg8A51022685%40masaka.moolenaar.net.