>=emacs-23 fails to compile on ARM EABI (Update: Fixed upstream)

As what the subject says, >=emacs-23 fails to compile on ARM EABI.

The error happens with a clean system, and happens on Gentoo and Debian. So you can’t say its Gentoo’s problem, like people tend to say 🙂

The problem is this one:
armv4tl-softfloat-linux-gnueabi-gcc -nostdlib `./prefix-args -Xlinker -z
nocombreloc` -Wl,-O1 -Wl,-znocombreloc -o temacs pre-crt0.o /usr/lib/crt1.o
/usr/lib/crti.o dispnew.o frame.o scroll.o xdisp.o menu.o window.o charset.o
coding.o category.o ccl.o character.o chartab.o cm.o term.o terminal.o xfaces.o
emacs.o keyboard.o macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o
marker.o minibuf.o fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o
indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o
eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o
process.o callproc.o region-cache.o sound.o atimer.o doprnt.o strftime.o
intervals.o textprop.o composite.o md5.o terminfo.o lastfile.o vm-limit.o
-lgpm -lncurses -lm -lgcc -lc -lgcc /usr/lib/crtn.o
/usr/lib/gcc/armv4tl-softfloat-linux-gnueabi/4.3.4/libgcc.a(bpabi.o):(.ARM.exidx+0x0):
undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/lib/gcc/armv4tl-softfloat-linux-gnueabi/4.3.4/libgcc.a(_divdi3.o):(.ARM.exidx+0x0):
undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/lib/gcc/armv4tl-softfloat-linux-gnueabi/4.3.4/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0):
undefined reference to `__aeabi_unwind_cpp_pr0'
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1
make[1]: Leaving directory
`/var/tmp/portage/app-editors/emacs-23.1-r2/work/emacs-23.1/src'

Builds fine on ARM OABI.

I found a patch from an openembedded repository(thanks to whoever did it!), and it works fine. Gentoo developer Ulrich Müller (ulm), who is part of the Gentoo Emacs team, applied the patch and now we have >=emacs-23 stable on ARM.

I filed a bug upstream as well, with no answer so far:

http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=5518

Update: upstream has fixed it

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: