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

From: Gergely Czuczy <[email-masked]>
Date: Wed, 20 Sep 2017 07:51:47 +0200

On 2017. 09. 11. 19:17, Eli Zaretskii wrote:
>> Cc: [email-masked], [email-masked]
>> From: Gergely Czuczy <[email-masked]>
>> Date: Mon, 11 Sep 2017 19:12:12 +0200
>>
>>> That's a call to delete_terminal, which doesn't appear in your
>>> backtrace, and doesn't call xpalloc, either.  So thanks, but I'm still
>>> confused.  Are you sure this is an unoptimized build?  Is it possible
>>> that we are looking at LLDB bug?
>> It's the lldb debug, right. And I'm sure it's an unoptimized build, I've
>> went back and checked the build flags:
>> cc -Demacs  -I. -I. -I../lib -I../lib
>> -I/usr/local/include/libxml2             -MMD -MF deps/.d -MP
>> -Wno-switch -Wno-pointer-sign -Wno-string-plus-int
>> -Wno-unknown-attributes -Wno-initializer-overrides
>> -Wno-tautological-compare
>> -Wno-tautological-constant-out-of-range-compare -O0 -g
>> -fno-strict-aliasing  -Wl,-znocombreloc  (...)
>>
>> If that helps, I can create a qemu VM with this fbsd build, and give you
>> the image.
> Would it be possible for you to install GDB, and then repeat the same
> experiment under GDB?
So, here's the image for the reproduction:
http://czg.harmless.hu/emacs/qemu-28308.gz
You can start it with:
qemu-system-aarch64 -m 4096M -cpu cortex-a57 -M virt  \
                     -accel tcg,thread=single \
                     -bios QEMU_EFI.fd -serial telnet::4444,server 
-nographic \
                     -drive if=none,file=${image},id=hd0,format=raw \
                     -device virtio-blk-device,drive=hd0 \
                     -device e1000,netdev=net0 \
                     -netdev 
tap,id=net0,ifname=tap0,script=/tank/rpi3/build/qemu-ifup.sh

adjust the $image, and the last line for the networking, it just sets 
the IP address on the host device:
ifname=$1
ifconfig ${ifname} inet 10.219.14.254/24

The root password is "foobar", has an sshd running, so you can later log 
in, tramp into it,etc.

Steps to reproduce the build failure:
cd /usr/ports/editors/emacs-devel
setenv CFLAGS "-O0 -glldb"
setenv CXXFLAGS "-O0 -glldb"
make -DTRYBROKEN DISABLE_VULNERABILITIES=yes build

The ports tree extracts the source under and does the actual build under 
work/, you will find it all there.

Also, just in case, I've checked out the emacs source from github under 
/root/emacs/, to save you some time if that's needed.

If you would like to test the build from a different checkout in ports, 
just update /usr/ports/editors/emacs-devel/Makefile:
1) update the GH_TAGNAME
2) rm distinfo
3) make makesum
4) rm -rf work
5) then you can start the build again

I hope this helps.

Best regards,
Gergely