1. 21 Feb, 2014 4 commits
  2. 20 Feb, 2014 11 commits
    • Russ Cox's avatar
      runtime/debug: add SetPanicOnFault · e56c6e75
      Russ Cox authored
      SetPanicOnFault allows recovery from unexpected memory faults.
      This can be useful if you are using a memory-mapped file
      or probing the address space of the current program.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/66590044
      e56c6e75
    • Russ Cox's avatar
      runtime: use goc2c as much as possible · 67c83db6
      Russ Cox authored
      Package runtime's C functions written to be called from Go
      started out written in C using carefully constructed argument
      lists and the FLUSH macro to write a result back to memory.
      
      For some functions, the appropriate parameter list ended up
      being architecture-dependent due to differences in alignment,
      so we added 'goc2c', which takes a .goc file containing Go func
      declarations but C bodies, rewrites the Go func declaration to
      equivalent C declarations for the target architecture, adds the
      needed FLUSH statements, and writes out an equivalent C file.
      That C file is compiled as part of package runtime.
      
      Native Client's x86-64 support introduces the most complex
      alignment rules yet, breaking many functions that could until
      now be portably written in C. Using goc2c for those avoids the
      breakage.
      
      Separately, Keith's work on emitting stack information from
      the C compiler would require the hand-written functions
      to add #pragmas specifying how many arguments are result
      parameters. Using goc2c for those avoids maintaining #pragmas.
      
      For both reasons, use goc2c for as many Go-called C functions
      as possible.
      
      This CL is a replay of the bulk of CL 15400047 and CL 15790043,
      both of which were reviewed as part of the NaCl port and are
      checked in to the NaCl branch. This CL is part of bringing the
      NaCl code into the main tree.
      
      No new code here, just reformatting and occasional movement
      into .h files.
      
      LGTM=r
      R=dave, alex.brainman, r
      CC=golang-codereviews
      https://golang.org/cl/65220044
      67c83db6
    • Russ Cox's avatar
      cmd/pack: fix match · 258c278e
      Russ Cox authored
      Match used len(ar.files) == 0 to mean "match everything"
      but it also deleted matched things from the list, so once you
      had matched everything you asked for, match returned true
      for whatever was left in the archive too.
      
      Concretely, if you have an archive containing f1, f2, then
              pack t foo.a f1
      would match f1 and then, because len(ar.files) == 0 after
      deleting f1 from the match list, also match f2.
      
      Avoid the problem by recording explicitly whether match
      matches everything.
      
      LGTM=r, dsymonds
      R=r, dsymonds
      CC=golang-codereviews
      https://golang.org/cl/65630046
      258c278e
    • Russ Cox's avatar
      cmd/gc: explain 'nointerface' method failure · 574e0f9a
      Russ Cox authored
      The message used to say that there was a type
      mismatch, which is not necessarily true.
      
      TBR=ken2
      CC=golang-codereviews
      https://golang.org/cl/66600044
      574e0f9a
    • Chris Manghane's avatar
      cmd/gc: make embedded, unexported fields read-only. · a8a7f18a
      Chris Manghane authored
      Fixes #7363.
      
      LGTM=gri
      R=gri, rsc, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/66510044
      a8a7f18a
    • Josh Bleecher Snyder's avatar
      cmd/ld: fix off-by-one error in DWARF .debug_line transcription · 15ec569b
      Josh Bleecher Snyder authored
      The liblink refactor changed the DWARF .debug_line flow control. The mapping was off by one pcline entry. The fix here preserves pc until it can be compared to pcline.pc.
      
      Sample dwarfdump .debug_line output for main.main from the program in issue 7351, before liblink (correct):
      
      0x0000003c: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 )
      0x00000047: 03 DW_LNS_advance_line( 6 )
      0x00000049: 01 DW_LNS_copy
                  0x0000000000002000      1      7      0 is_stmt
      
      0x0000004a: 8b address += 21,  line += 1
                  0x0000000000002021      1      8      0 is_stmt
      
      0x0000004b: 02 DW_LNS_advance_pc( 153 )
      0x0000004e: 03 DW_LNS_advance_line( 1 )
      0x00000050: 01 DW_LNS_copy
                  0x00000000000020ba      1      9      0 is_stmt
      
      After liblink (off by one entry):
      
      0x00001bbf: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 )
      0x00001bca: 02 DW_LNS_advance_pc( 33 )
      0x00001bcc: 03 DW_LNS_advance_line( 6 )
      0x00001bce: 01 DW_LNS_copy
                  0x0000000000002021      1      7      0 is_stmt
      
      0x00001bcf: 02 DW_LNS_advance_pc( 153 )
      0x00001bd2: 03 DW_LNS_advance_line( 1 )
      0x00001bd4: 01 DW_LNS_copy
                  0x00000000000020ba      1      8      0 is_stmt
      
      0x00001bd5: 02 DW_LNS_advance_pc( 153 )
      0x00001bd8: 03 DW_LNS_advance_line( 1 )
      0x00001bda: 01 DW_LNS_copy
                  0x0000000000002153      1      9      0 is_stmt
      
      After this CL (the line 9 pc offset changed due to intervening compiler changes):
      
      0x00001d07: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 )
      0x00001d12: 03 DW_LNS_advance_line( 6 )
      0x00001d14: 01 DW_LNS_copy
                  0x0000000000002000      1      7      0 is_stmt
      
      0x00001d15: 8b address += 21,  line += 1
                  0x0000000000002021      1      8      0 is_stmt
      
      0x00001d16: 02 DW_LNS_advance_pc( 189 )
      0x00001d19: 03 DW_LNS_advance_line( 1 )
      0x00001d1b: 01 DW_LNS_copy
                  0x00000000000020de      1      9      0 is_stmt
      
      Fixes #7351.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/66290043
      15ec569b
    • David du Colombier's avatar
      os: fix Rename on Plan 9 · 58a9268f
      David du Colombier authored
      Rename should fail when the directory doesn't match.
      It will fix the newly introduced test from cmd/pack
      on Plan 9.
      
      LGTM=r
      R=golang-codereviews, r
      CC=golang-codereviews
      https://golang.org/cl/65270044
      58a9268f
    • Alex Brainman's avatar
      net/http: remove tmp file created in TestMultipartReaderOrder · 5a6af5fc
      Alex Brainman authored
      LGTM=minux.ma
      R=golang-codereviews, minux.ma
      CC=golang-codereviews
      https://golang.org/cl/66470043
      5a6af5fc
    • Rob Pike's avatar
      syscall: terminate error string in exec package on Plan 9 · 3e37720b
      Rob Pike authored
      Try to prevent messages like this:
              './pack' file does not exist����������������������������������������������������������������������������������������������������
      TBR=adonovan
      
      LGTM=adonovan
      R=adonovan
      CC=golang-codereviews
      https://golang.org/cl/66270043
      3e37720b
    • Alex Brainman's avatar
      cmd/pack: provide executable name in TestHello · 0d11cd1b
      Alex Brainman authored
      otherwise go build command adds .exe suffix
      
      Fixes #7362
      
      LGTM=bradfitz
      R=golang-codereviews, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/66250043
      0d11cd1b
    • Rob Pike's avatar
      cmd/pack: another attempt to fix the build for TestHello · 00b76713
      Rob Pike authored
      Plan 9 uses single quotes, not double quotes. I should have known.
      
      LGTM=bradfitz
      R=bradfitz
      CC=golang-codereviews
      https://golang.org/cl/66240043
      00b76713
  3. 19 Feb, 2014 21 commits
  4. 18 Feb, 2014 4 commits