Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(272)

Issue 6855088: code review 6855088: cmd/6l, cmd/8l: emit no-ops to separate zero-stack func... (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 11 months ago by remyoudompheng
Modified:
11 years, 11 months ago
Reviewers:
CC:
rsc, golang-dev
Visibility:
Public.

Description

cmd/6l, cmd/8l: emit no-ops to separate zero-stack funcs from nosplits. The stack overflow checker in the linker uses the spadj field to determine whether stack space will be large enough or not. When spadj=0, the checker treats the function as a nosplit and emits an error although the program is correct. Also enable the stack checker in 8l. Fixes issue 4316.

Patch Set 1 #

Patch Set 2 : diff -r 2a4a89b1f36b https://go.googlecode.com/hg/ #

Patch Set 3 : diff -r 2a4a89b1f36b https://go.googlecode.com/hg/ #

Patch Set 4 : diff -r aa5d8b37ad24 https://go.googlecode.com/hg/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -0 lines) Patch
M src/cmd/6l/pass.c View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
M src/cmd/8l/obj.c View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/8l/pass.c View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
A test/fixedbugs/issue4316.go View 1 1 chunk +64 lines, -0 lines 0 comments Download

Messages

Total messages: 3
remyoudompheng
Hello rsc@golang.org, golang-dev@googlegroups.com (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://go.googlecode.com/hg/
11 years, 11 months ago (2012-11-25 11:45:20 UTC) #1
rsc
LGTM I was confused still and had to read the stkcheck code. Please make the ...
11 years, 11 months ago (2012-11-26 15:44:40 UTC) #2
remyoudompheng
11 years, 11 months ago (2012-11-26 20:51:53 UTC) #3
*** Submitted as http://code.google.com/p/go/source/detail?r=6bfa10936597 ***

cmd/6l, cmd/8l: emit no-ops to separate zero-stack funcs from nosplits.

The stack overflow checker in the linker uses the spadj field
to determine whether stack space will be large enough or not.
When spadj=0, the checker treats the function as a nosplit
and emits an error although the program is correct.

Also enable the stack checker in 8l.

Fixes issue 4316.

R=rsc, golang-dev
CC=golang-dev
http://codereview.appspot.com/6855088
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b