aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/os_linux.c
AgeCommit message (Collapse)Author
2013-05-06runtime: fix crash in badsignal()Dmitriy Vyukov
The linker can generate split stack prolog when a textflag 7 function makes an indirect function call. If it happens, badsignal() crashes trying to dereference g. Fixes #5337. R=bradfitz, dave, adg, iant, r, minux.ma CC=adonovan, golang-dev https://golang.org/cl/9226043
2013-03-22runtime: correct misplaced right brace in Linux SIGBUS handlingIan Lance Taylor
I'm not sure how to write a test for this. The change in behaviour is that if you somehow get a SIGBUS signal for an address >= 0x1000, the program will now crash rather than calling panic. As far as I know, on x86 GNU/Linux, the only way to get a SIGBUS (rather than a SIGSEGV) is to set the stack pointer to an invalid value. R=golang-dev, r CC=golang-dev https://golang.org/cl/7906045
2013-03-18runtime: fix tv_sec 32-bit overflows in sleep routines.Rémy Oudompheng
Fixes #5063. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/7876043
2013-03-14runtime: refactor os-specific codeRuss Cox
thread_GOOS.c becomes os_GOOS.c. signal_GOOS_GOARCH.c becomes os_GOOS_GOARCH.c, but with non-GOARCH-specific code moved into os_GOOS.c. The actual arch-specific signal handler moves into signal_GOARCH.c to avoid per-GOOS duplication. New files signal_GOOS_GOARCH.h provide macros for accessing fields of the very system-specific signal info structs. Lots moving, but nothing changing. This is a preliminarly cleanup so I can work on the signal handling code to fix some open issues without having to make each change 13 times. Tested on Linux and OS X, 386 and amd64. Will fix Plan 9, Windows, and ARM after the fact if necessary. (Plan 9 and Windows should be fine; ARM will probably have some typos.) Net effect: -1081 lines of code. R=golang-dev, r CC=golang-dev https://golang.org/cl/7565048