gcc/libgo/runtime
Cherry Zhang fba70f605e compiler,runtime: use __builtin_dwarf_cfa for getcallersp
Currently, the compiler lowers runtime.getcallersp to
    __builtin_frame_address(1). In the C side of the runtime,
    getcallersp is defined as __builtin_frame_address(0). They don't
    match. Further, neither of them actually returns the caller's SP.
    On AMD64, __builtin_frame_address(0) just returns the frame
    pointer. __builtin_frame_address(1) returns the memory content
    where the frame pointer points to, which is typically the
    caller's frame pointer but can also be garbage if the frame
    pointer is not enabled.
    
    This CL changes it to use __builtin_dwarf_cfa(), which returns
    the caller's SP at the call site. This matches the SP we get
    from unwinding the stack.
    
    Currently getcallersp is not used for anything real. It will be
    used for precise stack scan (a new version of CL 159098).
    
    Reviewed-on: https://go-review.googlesource.com/c/162905

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
	instead of __builtin_frame_address.

From-SVN: r268952
2019-02-15 23:22:29 +00:00
..
aeshash.c runtime: add arm64 version of AES hash code 2018-10-01 20:14:29 +00:00
arch.h
array.h
defs.h
env_posix.c libgo: add hurd build tags 2019-02-01 21:57:36 +00:00
getncpu-aix.c Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
getncpu-bsd.c
getncpu-hurd.c runtime: add getproccount for hurd 2019-02-01 22:55:55 +00:00
getncpu-irix.c
getncpu-linux.c
getncpu-none.c
getncpu-solaris.c
go-assert.c
go-assert.h
go-caller.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
go-callers.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
go-cdiv.c
go-cgo.c runtime: copy cgo support from Go 1.7 runtime 2016-12-19 18:00:35 +00:00
go-construct-map.c runtime: fix makemap calls in __go_construct_map 2018-01-10 15:04:21 +00:00
go-ffi.c runtime, reflect: rewrite Go to FFI type conversion in Go 2016-11-18 00:15:38 +00:00
go-fieldtrack.c runtime: fix type descriptor name in C code 2018-01-31 18:25:17 +00:00
go-libmain.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
go-main.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
go-matherr.c
go-memclr.c libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
go-memcmp.c
go-memequal.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-memmove.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-nanotime.c runtime: copy runtime package time code from Go 1.7 2016-10-15 00:29:06 +00:00
go-nosys.c runtime: make go-nosys.c compile with !HAVE_SYSCALL 2017-08-29 20:57:20 +00:00
go-now.c re PR c/82922 (Request: add -Wstrict-prototypes to -Wextra as K&R style is obsolescent) 2018-01-10 15:42:23 +00:00
go-reflect-call.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
go-runtime-error.c runtime: use the call instruction's PC for panic-in-runtime detection 2019-01-29 00:49:23 +00:00
go-setenv.c runtime: don't call __go_alloc/__go_free in environment functions 2016-11-18 16:03:13 +00:00
go-signal.c re PR go/81893 (compilation error in libgo starting with r251127) 2017-08-18 20:17:26 +00:00
go-string.h
go-strslice.c runtime: always initialize str field in __go_string_slice result 2017-09-18 22:29:45 +00:00
go-type.h Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
go-typedesc-equal.c
go-unsafe-pointer.c compiler: rationalize external symbol names 2018-01-24 23:50:09 +00:00
go-unsetenv.c runtime: don't call __go_alloc/__go_free in environment functions 2016-11-18 16:03:13 +00:00
go-unwind.c runtime: prevent deadlock when profiling signal arrives in stack scan 2018-12-29 00:07:06 +00:00
go-varargs.c runtime: include <syscall.h> and <sys/syscall.h> if available 2019-02-15 14:25:12 +00:00
panic.c compiler, runtime: harmonize types referenced by both C and Go 2019-02-15 01:57:51 +00:00
print.c runtime: copy print/println support from Go 1.7 2016-10-10 23:13:39 +00:00
proc.c runtime: in doscanstackswitch, set gp->m before gogo 2019-01-07 22:07:26 +00:00
rtems-task-variable-add.c
runtime.h compiler,runtime: use __builtin_dwarf_cfa for getcallersp 2019-02-15 23:22:29 +00:00
runtime_c.c libgo: update to Go 1.11 2018-09-24 21:46:21 +00:00
stack.c runtime: add type cast for non-split-stack calls to scanstackblock 2019-02-15 13:54:45 +00:00
yield.c runtime: copy signal code from Go 1.7 runtime 2016-11-10 22:53:23 +00:00