~ubuntu-branches/ubuntu/vivid/golang/vivid

« back to all changes in this revision

Viewing changes to src/pkg/runtime/signal_arm.c

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2014-11-18 15:12:26 UTC
  • mfrom: (14.2.12 vivid-proposed)
  • Revision ID: package-import@ubuntu.com-20141118151226-zug7vn93mn3dtiz3
Tags: 2:1.3.2-1ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - 016-armhf-elf-header.patch: Use correct ELF header for armhf binaries.
  - Support co-installability with gccgo-go tool:
    - d/rules,golang-go.install: Rename bin/go -> bin/golang-go
    - d/golang-go.{postinst,prerm}: Install/remove /usr/bin/go using
      alternatives.
  - d/copyright: Amendments for full compiliance with copyright format.
  - d/control: Demote golang-go.tools to Suggests to support Ubuntu MIR.
  - dropped patches (now upstream):
    - d/p/issue27650045_40001_50001.diff
    - d/p/issue28050043_60001_70001.diff
    - d/p/issue54790044_100001_110001.diff

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
        bool crash;
47
47
 
48
48
        if(sig == SIGPROF) {
49
 
                runtime·sigprof((uint8*)SIG_PC(info, ctxt), (uint8*)SIG_SP(info, ctxt), (uint8*)SIG_LR(info, ctxt), gp);
 
49
                runtime·sigprof((uint8*)SIG_PC(info, ctxt), (uint8*)SIG_SP(info, ctxt), (uint8*)SIG_LR(info, ctxt), gp, m);
50
50
                return;
51
51
        }
52
52
 
53
53
        t = &runtime·sigtab[sig];
54
54
        if(SIG_CODE0(info, ctxt) != SI_USER && (t->flags & SigPanic)) {
55
 
                if(gp == nil || gp == m->g0)
56
 
                        goto Throw;
57
 
 
58
55
                // Make it look like a call to the signal func.
59
56
                // Have to pass arguments out of band since
60
57
                // augmenting the stack frame would break
92
89
        if(!(t->flags & SigThrow))
93
90
                return;
94
91
 
95
 
Throw:
96
92
        m->throwing = 1;
97
93
        m->caughtsig = gp;
98
94
        if(runtime·panicking)   // traceback already printed
112
108
        runtime·printf("\n");
113
109
 
114
110
        if(runtime·gotraceback(&crash)){
 
111
                runtime·goroutineheader(gp);
115
112
                runtime·traceback(SIG_PC(info, ctxt), SIG_SP(info, ctxt), SIG_LR(info, ctxt), gp);
116
113
                runtime·tracebackothers(gp);
117
114
                runtime·printf("\n");