Subject: bug#28308: Build failure on FreeBSD/aarch64

From: Noam Postavsky <[email-masked]>
Date: Thu, 19 Oct 2017 19:39:11 -0400

Noam Postavsky <[email-masked]> writes:

> (lldb) disassemble --pc
> bootstrap-emacs`__start:
> ->  0x40180 <+360>: mov    w0, w21
>     0x40184 <+364>: mov    x1, x20
>     0x40188 <+368>: mov    x2, x19
>     0x4018c <+372>: bl     0x16742c                  ; tty_menu_display + 132 at term.c:2817

> I think that means that tty_menu_display is getting called from
> __start, which should not be possible?!

It seems that the debug info show by lldb is bogus, it shows two
locations for tty_menu_display (see attached).

Here is a backtrace from running 'lldb -- ./bootstrap-emacs -Q -batch',
with source locations generated by 'addr2line -e ./bootstrap-emacs -f -i -p'.
 
* thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: invalid address (fault address: 0x41626d78)
0x000000000022810c XFLOAT_INIT at /root/emacs/src/alloc.c:543
0x0000000000227eb0 make_float at /root/emacs/src/alloc.c:2667
0x000000000022de24 init_alloc at /root/emacs/src/alloc.c:7481
0x000000000016825c main at /root/emacs/src/emacs.c:1251
0x0000000000040190 __start at /tank/rpi3/src/lib/csu/aarch64/crt1.c:84
0x0000000040390018 ?? at ??:0

This is from revision [1: 35c893ddaf], configured with

    'CFLAGS=-O0 -glldb -DUNEXELF_DEBUG=1' '--without-all'

[1: 35c893ddaf]: 2017-09-12 11:08:00 -0400
  Move gensym to core Elisp
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=35c893ddaf21b93677850a69709b59630bb0feb7