Markus Alt <altmark(a)de.ibm.com> writes:
Mike Fabian wrote:
>
> Markus Alt <altmark(a)de.ibm.com> writes:
>
> > a week ago, I've upgraded my system to the new SuSE 7.3 (kernel 2.4.10,
> > glibc 2.2.4, XFree86 4.1.0). The XEmacsen 21.4.4 and 21.5.3 I had built
> > on my old installation (SuSE 7.2 w/ kernel 2.4.7, glibc 2.2.2, XFree86
> > 4.1.0) still run fine as well as the 21.4.4 that comes with the distro.
> >
> > So far, so good, but as I built 21.4.5 on Wednesday (the build was ok)
> > and started it then, it crashed immediately. Did a standard installation
> > of SuSE 7.3 today on another machine w/o any special configuration to
> > cross-check - same effect.
> >
> > The lisp backtrace:
> >
> > # bind (frame-being-created)
> > make-frame(nil #<x-device on ":0.0" 0x20e3>)
> > frame-initialize()
> > # bind (debugger debug-on-error command-line-args-left)
> > command-line()
> > # (unwind-protect ...)
> > normal-top-level()
> > # (condition-case ... . error)
> > # (catch top-level ...)
> > Segmentation fault
> >
> > The C stack backtrace and the Installation file are attached to this
> > mail. It looks like there's something wrong with the libXt stuff, but
> > replacing the installed XFree86 RPMs with those from the 7.2 distro
> > didn't make any difference.
> >
> > Is anybody seeing a similar behaviour? Any ideas?
> >
>
> [...]
>
> > uname -a: Linux hdacpc 2.4.10-4GB #1 Tue Sep 25 12:33:54 GMT 2001 i686
> unknown
> >
> > ./configure '--cflags=-O3' '--debug=no'
'--error-checking=none' '
> --prefix=/data'
>
> [...]
>
> You need to add the configure option '--ldflags=-s -znocombreloc'.
> For example like this:
>
> ./configure '--cflags=-O3' '--debug=no'
'--error-checking=none' '
> --prefix=/data' '--ldflags=-s -znocombreloc'
Works great. Thanks for your help, Mike!
Could you let me know why I need those options now and didn't need them
with 7.2? Is this kernel and/or glibc related?
-zcombreloc has been made the default for 'ld' in the 'binutils'
package in SuSE GNU/Linux 7.3.
man ld> "combreloc" combines multiple reloc sections and sorts them to
man ld> make dynamic symbol lookup caching possible.
This speeds up the start of applications, which is especially
noticable with huge applications like KDE. Most application have no
problems with 'combreloc' but it breaks the dumping mechanisms of both
XEmacs and Emacs, therefore it has to be switched off again when
building XEmacs or Emacs to revert to the previous default from the
binutils package.
I have not yet checked whether the portable dumper of XEmacs behaves
differently or not.
--
Mike Fabian <mfabian(a)suse.de>
http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。