1. 19 Feb, 2014 7 commits
  2. 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
  3. 17 Feb, 2014 5 commits
  4. 16 Feb, 2014 5 commits
  5. 15 Feb, 2014 3 commits
    • Russ Cox's avatar
      cmd/gc: correct liveness for fat variables · 7a7c0ffb
      Russ Cox authored
      The VARDEF placement must be before the initialization
      but after any final use. If you have something like s = ... using s ...
      the rhs must be evaluated, then the VARDEF, then the lhs
      assigned.
      
      There is a large comment in pgen.c on gvardef explaining
      this in more detail.
      
      This CL also includes Ian's suggestions from earlier CLs,
      namely commenting the use of mode in link.h and fixing
      the precedence of the ~r check in dcl.c.
      
      This CL enables the check that if liveness analysis decides
      a variable is live on entry to the function, that variable must
      be a function parameter (not a result, and not a local variable).
      If this check fails, it indicates a bug in the liveness analysis or
      in the generated code being analyzed.
      
      The race detector generates invalid code for append(x, y...).
      The code declares a temporary t and then uses cap(t) before
      initializing t. The new liveness check catches this bug and
      stops the compiler from writing out the buggy code.
      Consequently, this CL disables the race detector tests in
      run.bash until the race detector bug can be fixed
      (golang.org/issue/7334).
      
      Except for the race detector bug, the liveness analysis check
      does not detect any problems (this CL and the previous CLs
      fixed all the detected problems).
      
      The net test still fails with GOGC=0 but the rest of the tests
      now pass or time out (because GOGC=0 is so slow).
      
      TBR=iant
      CC=golang-codereviews
      https://golang.org/cl/64170043
      7a7c0ffb
    • Rémy Oudompheng's avatar
      cmd/gc: do not lower copy to a value node in go/defer. · 15d29499
      Rémy Oudompheng authored
      The existing tests issue4463.go and issue4654.go had failures at
      typechecking and did not test walking the AST.
      
      Fixes #7272.
      
      LGTM=khr
      R=khr, rsc, iant
      CC=golang-codereviews
      https://golang.org/cl/60550044
      15d29499
    • Rob Pike's avatar
      text/template: don't panic when function call evaluates a nil pointer · 71575a97
      Rob Pike authored
      Catch the error instead and return it to the user. Before this fix,
      the template package panicked. Now you get:
              template: bug11:1:14: executing "bug11" at <.PS>: dereference of nil pointer of type *string
      Extended example at http://play.golang.org/p/uP6pCW3qKT
      
      Fixes #7333.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/64150043
      71575a97
  6. 14 Feb, 2014 10 commits
    • Anthony Martin's avatar
      codereview: fix for Mercurial 2.9 · 881e23d3
      Anthony Martin authored
      The branchtags method was removed but we should've
      been using branchmap all along.
      
      http://selenic.com/hg/rev/4274eda143cb
      
      LGTM=franciscossouza, r
      R=golang-codereviews, franciscossouza, r
      CC=golang-codereviews
      https://golang.org/cl/57500045
      881e23d3
    • Adam Langley's avatar
      compress/bzip2: support superfluous Huffman levels. · 9f0008bb
      Adam Langley authored
      These should never be found in a bzip2 file but it does appear that
      there's a buggy encoder that is producing them. Since the official
      bzip2 handles this case, this change makes the Go code do likewise.
      
      With this change, the code produces the same output as the official
      bzip2 code on the invalid example given in the bug.
      
      Fixes #7279.
      
      LGTM=r
      R=golang-codereviews, r
      CC=golang-codereviews
      https://golang.org/cl/64010043
      9f0008bb
    • David du Colombier's avatar
      runtime: fix "invalid address in sys call" on Plan 9 · 56872f02
      David du Colombier authored
      Rfork is not splitting the stack when creating a new thread,
      so the parent and child are executing on the same stack.
      However, if the parent returns and keeps executing before
      the child can read the arguments from the parent stack,
      the child will not see the right arguments. The solution
      is to load the needed pieces from the parent stack into
      register before INT $64.
      
      Thanks to Russ Cox for the explanation.
      
      LGTM=rsc
      R=rsc
      CC=ality, golang-codereviews
      https://golang.org/cl/64140043
      56872f02
    • Michael T. Jones's avatar
      math/big: Add text marshaller interface to Int · 1dc82d25
      Michael T. Jones authored
      Fixes #7329
      
      LGTM=gri
      R=gri, bradfitz, mtj
      CC=golang-codereviews
      https://golang.org/cl/63710043
      1dc82d25
    • Elias Naur's avatar
      cmd/go: remove cross compiling restriction on cgo · 9b0736fc
      Elias Naur authored
      A previous CL added support for cross compiling with cgo, but
      missed the GOOS check in cmd/go. Remove it.
      
      Update #4714
      
      LGTM=iant
      R=iant
      CC=golang-codereviews
      https://golang.org/cl/57210046
      9b0736fc
    • Ian Lance Taylor's avatar
      runtime: if traceback sees a breakpoint, don't change the PC · 92b47417
      Ian Lance Taylor authored
      Changing the PC confuses gdb, because execution does not
      continue where gdb expects it.  Not changing the PC has the
      potential to confuse a stack dump, but when running under gdb
      it seems better to confuse a stack dump than to confuse gdb.
      
      Fixes #6776.
      
      LGTM=rsc
      R=golang-codereviews, dvyukov, rsc
      CC=golang-codereviews
      https://golang.org/cl/49580044
      92b47417
    • Mikio Hara's avatar
      net: handle IP interface stack correctly on linux · 8c0a52f2
      Mikio Hara authored
      A configuration like the following:
      
      7: tun6rd: <NOARP,UP,LOWER_UP> mtu 1280
              link/sit 10.11.12.13 brd 0.0.0.0
              inet 1.2.3.4/24 scope global tun6rd
              inet6 2014:1001:a0b:c0d::1/32 scope global
              inet6 ::10.11.12.13/128 scope global
      9: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1496
              link/ppp
              inet 192.168.101.234 peer 192.168.102.234/32 scope global ppp0
              inet 10.20.30.40/24 scope global ppp0
              inet6 2014:1002::1/64 scope global
      11: tun0@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480
              link/ipip 192.168.202.34 peer 192.168.202.69
              inet 192.168.10.1/24 scope global tunnel0
              inet6 2014:1003::1/64 scope global
      
      will be handled like below.
      
      "tun6rd": flags "up", ifindex 7, mtu 1280
              hardware address ""
              interface address "1.2.3.4/24"
              interface address "2014:1001:a0b:c0d::1/32"
              interface address "::a0b:c0d/128"
      "ppp0": flags "up|pointtopoint|multicast", ifindex 9, mtu 1496
              hardware address ""
              interface address "192.168.101.234/32"
              interface address "10.20.30.40/24"
              interface address "2014:1002::1/64"
      "tun0": flags "up|pointtopoint", ifindex 11, mtu 1480
              hardware address ""
              interface address "192.168.10.1/24"
              interface address "2014:1003::1/64"
      
      Fixes #6433.
      Update #4839
      
      LGTM=iant
      R=iant
      CC=golang-codereviews
      https://golang.org/cl/57700043
      8c0a52f2
    • Mikio Hara's avatar
      syscall: make use of include/linux when generating system constants · be9c514f
      Mikio Hara authored
      On Linux include/net directory is just to help porting applications
      from BSDs and files under net keep less information than include/linux.
      Making use of files under include/linux instead of include/net prevents
      lack of information.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/63930043
      be9c514f
    • Dmitriy Vyukov's avatar
      runtime: remove misleading message during crash · 47534ddc
      Dmitriy Vyukov authored
      The following checkdead message is false positive:
      
      $ go test -race -c runtime
      $ ./runtime.test -test.cpu=2 -test.run=TestSmhasherWindowed -test.v
      === RUN TestSmhasherWindowed-2
      checkdead: find g 18 in status 1
      SIGABRT: abort
      PC=0x42bff1
      
      LGTM=rsc
      R=golang-codereviews, gobot, rsc
      CC=golang-codereviews, iant, khr
      https://golang.org/cl/59490046
      47534ddc
    • Dmitriy Vyukov's avatar
      runtime: fix mem profile when both large and small objects are allocated at the same stack · e71d1477
      Dmitriy Vyukov authored
      Currently small and large (size>rate) objects are merged into a single entry.
      But rate adjusting is required only for small objects.
      As a result pprof either incorrectly adjusts large objects
      or does not adjust small objects.
      With this change objects of different sizes are stored in different buckets.
      
      LGTM=rsc
      R=golang-codereviews, gobot, rsc
      CC=golang-codereviews
      https://golang.org/cl/59220049
      e71d1477