Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 152006

Summary: app-editors/emacs-21.4-r4 segementation fault if linked with binutils-2.17
Product: Gentoo Linux Reporter: Markus Rothe (RETIRED) <corsair>
Component: Current packagesAssignee: ppc64 architecture team <ppc64>
Status: RESOLVED FIXED    
Severity: normal CC: emacs, toolchain
Priority: High    
Version: 2006.1   
Hardware: PPC64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emacs-21.4-ppc64-align-jmpbuf.patch
emacs-21.4-ppc64-align-jmpbuf.patch
emacs-21.4-ppc64-fix-unexelf.patch

Description Markus Rothe (RETIRED) gentoo-dev 2006-10-19 13:39:43 UTC
G5 ~ # emacs
Fatal error (11).Segmentation fault

backtrace:

#0  0x000000001014250c in print_object (obj=7493989781686142579, printcharfun=1152921504878785560, escapeflag=1) at print.c:1362
#1  0x0000000010144fdc in Fprin1 (object=7493989781686142579, printcharfun=1152921504878785560) at print.c:731
#2  0x00000000101455d8 in print_error_message (data=1, stream=4611686018699397168) at print.c:993
#3  0x0000000010145740 in Ferror_message_string (obj=24) at print.c:917
#4  0x000000001012cedc in Fsignal (error_symbol=1152921504878948056, data=5764607523306781736) at eval.c:1477
#5  0x00000000101171f4 in wrong_type_argument (predicate=1152921504878963224, value=7493989781686142579) at data.c:119
#6  0x00000000100d316c in Fget_buffer (name=7493989781686142579) at buffer.c:268
#7  0x00000000100daebc in Fget_buffer_create (name=7493989781686142579) at buffer.c:338
#8  0x0000000010027c0c in message_dolog (m=0x1019b7b0 "", nbytes=0, nlflag=1, multibyte=0) at xdisp.c:5657
#9  0x00000000100b7660 in main (argc=1, argv=0xfffff963818, envp=0x1) at emacs.c:1317
#10 0x00000400009175c4 in generic_start_main (main=@0x101c3850: 0x100b62c8 <main>, argc=1, ubp_av=0xfffff963818, auxvec=0xfffff963948,
    init=@0x101cd270: 0x1018a174 <.__libc_csu_init>, fini=0x4000002ccb8 <_rtld_local_ro>, rtld_fini=0x6800000067cf4673, stack_end=0x103534f0)
    at libc-start.c:212
#11 0x0000040000917768 in __libc_start_main (argc=603997250, ubp_av=0x1, ubp_ev=0x1, auxvec=0x8, rtld_fini=0x800000067cf4673, stinfo=0x0,
    stack_on_entry=0x103534f0) at libc-start.c:97
#12 0x0000000000000000 in ?? ()
Comment 1 Markus Rothe (RETIRED) gentoo-dev 2006-10-19 13:41:06 UTC
# emerge --info
Portage 2.1.1-r1 (default-linux/ppc/ppc64/2006.1/64bit-userland/970, gcc-3.4.6, glibc-2.3.6-r5, 2.6.19-rc2 ppc64)
=================================================================
System uname: 2.6.19-rc2 ppc64 PPC970FX, altivec supported
Gentoo Base System version 1.12.5
Last Sync: Thu, 19 Oct 2006 17:00:01 +0000
ccache version 2.3 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mtune=970 -mcpu=970 -mabi=altivec -g"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mtune=970 -mcpu=970 -mabi=altivec -g"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig cvs distlocks installsources metadata-transfer sandbox sfperms splitdebug strict"
GENTOO_MIRRORS="http://mirror.pacific.net.au/linux/Gentoo"
LANG="en_US.UTF8"
LC_ALL="en_US.UTF8"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="ppc64 X a52 aac aiglx alsa altivec amr apache2 apm asf bash-completion berkdb bitmap-fonts bzip2 ccache cdinstall cdparanoia cdr cli cracklib crypt cups curl cvs dbus dlloader dri dts dv dvd dvdr dvdread eds elibc_glibc emboss enca encode exscalibar ffmpeg flac foomaticdb fortran fping gd gdbm ggi gif gimpprint glib glitz gmp gnokii gnutls gphoto2 gpm graphviz gs gstreamer gtk hal highlight ieee1394 imagemagick imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kdeenablefinal kernel_linux latex ldap libg++ libwww mad matroska mdnsresponder-compat mikmod mjpeg motif mp3 mp4 mpeg mplayer multiuser musicbrainz mysql ncurses network nls no-old-linux nptl nptlonly nsplugin objc objc++ offensive ogg openal opengl pam pcre pdf perl php plotutils png ppds pppd python qt3 qt4 quicktime rdesktop readline reflection ruby samba scanner screen sdl session skins smp spell spl ssl stream subtitles subversion svg tcltk tcpd teamarena tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode upnp usb userland_GNU utempter vcd video_cards_radeon videos vim-pager vorbis wxwindows x264 xcomposite xine xml xorg xscreensaver xv xvid xvmc zeroconf zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 2 Markus Rothe (RETIRED) gentoo-dev 2006-10-19 14:04:16 UTC
adding emacs alias instead of individual members.

adding toolchain to CC, as this seems to be a bug in binutils, as I cannot reproduce this on my ppc machine (apple powerbook).
Comment 3 Markus Rothe (RETIRED) gentoo-dev 2006-12-10 04:25:36 UTC
app-editors/emacs-cvs-23.0.0-r1 does not show this behavior. that version runs just fine.
Comment 4 Christian Faulhammer (RETIRED) gentoo-dev 2007-02-02 10:12:47 UTC
corsair, could you try with emacs-cvs-22.0.9999-r1 please?  As it will see a release soon, we can probably close this bug then.
Comment 5 Markus Rothe (RETIRED) gentoo-dev 2007-02-03 09:58:47 UTC
yes, emacs-cvs-22.0.9999-r1 builds and runs with binutils-2.17. let's wait for the release mark it stabe soon and close this bug.
Comment 6 Andrew John Hughes 2007-03-02 10:27:29 UTC
A running emacs can be compiled with the following CFLAGS:

CFLAGS="-mno-fp-in-toc -mno-sum-in-toc"

Maybe an arch-dependent addition of these CFLAGS should be considered?

emerge --info is as follows:

Portage 2.1.2-r9 (default-linux/ppc/ppc64/2006.0/64bit-userland/970/pmac, gcc-3.4.6, glibc-2.3.6-r5, 2.6.17-gentoo-r4.omega ppc64)
=================================================================
System uname: 2.6.17-gentoo-r4.omega ppc64 PPC970MP, altivec supported
Gentoo Base System release 1.12.8
Timestamp of tree: Wed, 28 Feb 2007 17:01:01 +0000
distcc 2.18.3 powerpc64-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O1 -mtune=970 -mcpu=970 -mabi=altivec -pipe -ggdb"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O1 -mtune=970 -mcpu=970 -mabi=altivec -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms splitdebug strict"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://mirrors.blueyonder.co.uk/mirrors/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorse\
rvice.org/sites/www.ibiblio.org/gentoo/ "
LINGUAS="en_GB"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --\
exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac alsa altivec apache2 apm arts asf bash-completion berkdb bitmap-fonts bzip2 cairo cdparanoia cdr cli cpudetection cracklib crypt cups dbus doc dri dts dv d\
vd dvdread eds emacs emboss encode ffmpeg flac foomaticdb fortran gdbm gif gpm gstreamer gtk hal iconv ieee1394 imlib ipv6 isdnlog jpeg kde lcms ldap libg++ libwww mad mi\
di mikmod mng motif mp3 mpeg ncurses nls nptl nsplugin ogg openal opengl oss pam pcre pdf perl png ppc64 ppds pppd python qt qt3 qt4 quicktime readline reflection rtc sam\
ba sdl session speex spell spl sqlite ssl tcpd tetex tga theora threads tiff truetype truetype-fonts type1-fonts unicode vorbis wmf x264 xchattext xine xinerama xml xorg \
xscreensaver xv xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null pl\
ug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses\
 text" LINGUAS="en_GB" USERLAND="GNU" VIDEO_CARDS="nv fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 7 Christian Faulhammer (RETIRED) gentoo-dev 2007-03-02 12:30:39 UTC
(In reply to comment #6)
> A running emacs can be compiled with the following CFLAGS:
> CFLAGS="-mno-fp-in-toc -mno-sum-in-toc"
> Maybe an arch-dependent addition of these CFLAGS should be considered?

 ppc64 (namely corsair): Do you give your ok for that?  Does it work?
Comment 8 SpanKY gentoo-dev 2007-03-02 16:51:53 UTC
ppc64 is screwed up in general here ... perhaps a tracker bug should be filed so crappy ppc64 flags dont leak into ebuilds everywhere and get lost in the shuffle
Comment 9 Markus Rothe (RETIRED) gentoo-dev 2007-03-02 18:06:24 UTC
this is fixed in emacs-22.0.9999-r1, so I think it is OK to add this CFLAGS for ppc64 only in 21.4-r4. once 22.0 is released, stable on ppc64 and the older version removed we won't have any crap lying around, do we?

andrew: good work. thanks for this!
Comment 10 Christian Faulhammer (RETIRED) gentoo-dev 2007-03-02 18:39:37 UTC
(In reply to comment #9)
> this is fixed in emacs-22.0.9999-r1, so I think it is OK to add this CFLAGS for
> ppc64 only in 21.4-r4. once 22.0 is released, stable on ppc64 and the older
> version removed we won't have any crap lying around, do we?

 That's the way it is.  So closing this after CFLAGS additions.

> andrew: good work. thanks for this!

 Yeah!
Comment 11 SpanKY gentoo-dev 2007-03-02 19:03:20 UTC
i was talking in more general terms, not just emacs ... like busybox or openssl
Comment 12 Markus Rothe (RETIRED) gentoo-dev 2007-04-28 21:10:14 UTC
those added CFLAGS (no longer?) solve the problem for me.. emacs still segfaults for me.
Comment 13 Ulrich Müller gentoo-dev 2007-04-29 10:28:30 UTC
Created attachment 117623 [details]
emacs-21.4-ppc64-align-jmpbuf.patch

Could you please try if attached patch fixes the problem?
Comment 14 Ulrich Müller gentoo-dev 2007-04-29 10:33:02 UTC
Created attachment 117625 [details, diff]
emacs-21.4-ppc64-align-jmpbuf.patch

take 2 ...
Comment 15 Markus Rothe (RETIRED) gentoo-dev 2007-04-29 14:58:31 UTC
no, same problem.
Comment 16 Ulrich Müller gentoo-dev 2007-04-29 15:50:16 UTC
Created attachment 117646 [details, diff]
emacs-21.4-ppc64-fix-unexelf.patch

Next attempt, patch taken from Redhat/FC6, see <http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183304>.

(This is like poking with a stick in the dark, could someone give me shell access to a ppc64 system?)
Comment 17 Markus Rothe (RETIRED) gentoo-dev 2007-04-29 17:02:59 UTC
patch added. Thanks for spotting it, ulm.

marking as FIXED.
Comment 18 Christian Faulhammer (RETIRED) gentoo-dev 2007-04-30 03:51:54 UTC
(In reply to comment #16)
> (This is like poking with a stick in the dark, could someone give me shell
> access to a ppc64 system?)

 Will this patch hit upstream?

Greetings from sunny California
Comment 19 Ulrich Müller gentoo-dev 2007-04-30 06:09:38 UTC
(In reply to comment #18)
>  Will this patch hit upstream?

Since it was backported from Emacs 22, upstream is aware of it.