summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-08-29 14:20:47 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-08-29 14:58:49 -0700
commit9baeed3514fe60189f3bf935c380da92659b7f59 (patch)
treeeb542d01212b4085203456beb62d15e5a2cb0f3d /lisp/emacs-lisp
parentf1fdb5bc575728bd6c9f13a18939d9c271a74e83 (diff)
downloademacs-9baeed3514fe60189f3bf935c380da92659b7f59.tar.gz
emacs-9baeed3514fe60189f3bf935c380da92659b7f59.tar.bz2
emacs-9baeed3514fe60189f3bf935c380da92659b7f59.zip
Improve stack-top heuristic
This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part of the stack when scanning for heap roots, causing Emacs to crash later (Bug#28213). The problem is that Emacs's hack for getting an address near the stack top does not work when link-time optimization moves stack variables around. * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro. * lib-src/make-docfile.c (DEFUN_noinline): New constant. (write_globals, scan_c_stream): Support noinline. * src/alloc.c (NEAR_STACK_TOP): New macro. (SET_STACK_TOP_ADDRESS): Use it. (flush_stack_call_func, Fgarbage_collect): Now noinline.
Diffstat (limited to 'lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions