Commit c32bd276 by Ian Lance Taylor

cmd/go: pass -funwind-tables when compiling C code

    
    Using -funwind-tables is necessary to permit Go code to correctly
    throw a panic through C code.  This hasn't been necessary in the past
    as -funwind-tables is the default on x86.  However, it is not the
    default for PPC AIX.
    
    Reviewed-on: https://go-review.googlesource.com/56650

From-SVN: r251179
parent 091f25d7
152164a7249ecc5c2bfd4a091450dc7c2855f609 9ff49c64ea6dbb5e08d1fa859b99b06049413279
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -3268,6 +3268,12 @@ func (b *builder) ccompilerCmd(envvar, defcmd, objdir string) []string { ...@@ -3268,6 +3268,12 @@ func (b *builder) ccompilerCmd(envvar, defcmd, objdir string) []string {
a = append(a, "-fno-common") a = append(a, "-fno-common")
} }
// gccgo uses the language-independent exception mechanism to
// handle panics, so it always needs unwind tables.
if _, ok := buildToolchain.(gccgoToolchain); ok {
a = append(a, "-funwind-tables")
}
return a return a
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment