1. 20 Feb, 2014 9 commits
    • 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
  2. 19 Feb, 2014 21 commits
  3. 18 Feb, 2014 10 commits
    • Brad Fitzpatrick's avatar
      crypto/rc4: test the portable version too · a7fb3183
      Brad Fitzpatrick authored
      Prevent bitrot. (similar to the previous sha1 and md5 CLs)
      
      Fixes #6642
      
      LGTM=agl
      R=agl, dave
      CC=golang-codereviews
      https://golang.org/cl/65690043
      a7fb3183
    • Brad Fitzpatrick's avatar
      api: whitelist change to unicode.Version · ac40fb44
      Brad Fitzpatrick authored
      Unbreaks the build.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/65650043
      ac40fb44
    • Rob Pike's avatar
      doc/go1.3.txt: unicode upgrade to 6.3.0 · ad4601d1
      Rob Pike authored
      LGTM=mpvl
      R=mpvl
      CC=golang-codereviews
      https://golang.org/cl/65550044
      ad4601d1
    • Marcel van Lohuizen's avatar
      unicode: upgrade to Unicode 6.3.0 · 746d6368
      Marcel van Lohuizen authored
      This is a relatively minor change.
      
      This does not result in changes to go.text/unicode/norm. The go.text
      packages will therefore be relatively unaffected. It does make the
      way for an upgrade to CLDR 24, though.
      
      The tests of all.bash pass, as well as the tests in go.text after
      this update.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/65400044
      746d6368
    • Alex Brainman's avatar
      run.bat: use double-colon to comment text · 72f2b56a
      Alex Brainman authored
      LGTM=rsc
      R=golang-codereviews, rsc
      CC=golang-codereviews
      https://golang.org/cl/64980043
      72f2b56a
    • Andrew Gerrand's avatar
      go/doc: document the conditions where examples are "playable" · 13d85668
      Andrew Gerrand authored
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/64910043
      13d85668
    • Russ Cox's avatar
      undo CL 64100044 / 04d062c2e81c · aad23e70
      Russ Cox authored
      broke 32-bit builds
      
      ««« original CL description
      cmd/gc, runtime: enable precisestack by default
      
      Precisestack makes stack collection completely precise,
      in the sense that there are no "used and not set" errors
      in the collection of stack frames, no times where the collector
      reads a pointer from a stack word that has not actually been
      initialized with a pointer (possibly a nil pointer) in that function.
      
      The most important part is interfaces: precisestack means
      that if reading an interface value, the interface value is guaranteed
      to be initialized, meaning that the type word can be relied
      upon to be either nil or a valid interface type word describing
      the data word.
      
      This requires additional zeroing of certain values on the stack
      on entry, which right now costs about 5% overall execution
      time in all.bash. That cost will come down before Go 1.3
      (issue 7345).
      
      There are at least two known garbage collector bugs right now,
      issues 7343 and 7344. The first happens even without precisestack.
      The second I have only seen with precisestack, but that does not
      mean that precisestack is what causes it. In fact it is very difficult
      to explain by what precisestack does directly. Precisestack may
      be exacerbating an existing problem. Both of those issues are
      marked for Go 1.3 as well.
      
      The reasons for enabling precisestack now are to give it more
      time to soak and because the copying stack work depends on it.
      
      LGTM=r
      R=r
      CC=golang-codereviews, iant, khr
      https://golang.org/cl/64100044
      »»»
      
      TBR=r
      CC=golang-codereviews
      https://golang.org/cl/65230043
      aad23e70
    • Nigel Tao's avatar
      cmd/link: fix comment typo. · d2f61cc6
      Nigel Tao authored
      LGTM=dsymonds
      R=dsymonds
      CC=golang-codereviews
      https://golang.org/cl/64100045
      d2f61cc6
    • Russ Cox's avatar
      cmd/gc, runtime: enable precisestack by default · ecf700b5
      Russ Cox authored
      Precisestack makes stack collection completely precise,
      in the sense that there are no "used and not set" errors
      in the collection of stack frames, no times where the collector
      reads a pointer from a stack word that has not actually been
      initialized with a pointer (possibly a nil pointer) in that function.
      
      The most important part is interfaces: precisestack means
      that if reading an interface value, the interface value is guaranteed
      to be initialized, meaning that the type word can be relied
      upon to be either nil or a valid interface type word describing
      the data word.
      
      This requires additional zeroing of certain values on the stack
      on entry, which right now costs about 5% overall execution
      time in all.bash. That cost will come down before Go 1.3
      (issue 7345).
      
      There are at least two known garbage collector bugs right now,
      issues 7343 and 7344. The first happens even without precisestack.
      The second I have only seen with precisestack, but that does not
      mean that precisestack is what causes it. In fact it is very difficult
      to explain by what precisestack does directly. Precisestack may
      be exacerbating an existing problem. Both of those issues are
      marked for Go 1.3 as well.
      
      The reasons for enabling precisestack now are to give it more
      time to soak and because the copying stack work depends on it.
      
      LGTM=r
      R=r
      CC=golang-codereviews, iant, khr
      https://golang.org/cl/64100044
      ecf700b5
    • Russ Cox's avatar
      runtime: clear f, arg to avoid leak in timerproc · be1c71ec
      Russ Cox authored
      I have seen this cause leaks where not all objects in a sync.Pool
      would be reclaimed during the sync package tests.
      I found it while debugging the '0 of 100 finalized' failure we are
      seeing on arm, but it seems not to be the root cause for that one.
      
      LGTM=dave, dvyukov
      R=golang-codereviews, dave, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/64920044
      be1c71ec