]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/nm: minor cleanup from previous CL
authorRuss Cox <rsc@golang.org>
Wed, 18 Dec 2013 18:29:40 +0000 (13:29 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 18 Dec 2013 18:29:40 +0000 (13:29 -0500)
I forgot to apply Ian's suggestions before submitting CL 40600043.

R=iant
CC=golang-dev
https://golang.org/cl/43560045

src/cmd/nm/doc.go
src/cmd/nm/elf.go
src/cmd/nm/goobj.go
src/cmd/nm/nm.go

index 619c2d12dd4d57c457f255e73b3706627ceb11be..12b079d25f21fa59eb242649b0b1451daeabefea 100644 (file)
@@ -13,6 +13,8 @@
 //
 //     T       text (code) segment symbol
 //     t       static text segment symbol
+//     R       read-only data segment symbol
+//     r       static read-only data segment symbol
 //     D       data segment symbol
 //     d       static data segment symbol
 //     B       bss segment symbol
index 6dc8d442b48926c568c289fcdb2873806b935682..58a4b556f38b73d9e742aa0a38298473aaf8abc7 100644 (file)
@@ -47,6 +47,9 @@ func elfSymbols(f *os.File) []Sym {
                                sym.Code = 'D'
                        }
                }
+               if elf.ST_BIND(s.Info) == elf.STB_LOCAL {
+                       sym.Code += 'a' - 'A'
+               }
                syms = append(syms, sym)
        }
 
index 1ceefff9c0850fcf08a31ef500aa0478055c25ef..b0de51db9c033b4c8d7b66e40189ffd9deb9c046 100644 (file)
@@ -42,7 +42,7 @@ func goobjSymbols(f *os.File) []Sym {
                case goobj.SBSS, goobj.SNOPTRBSS, goobj.STLSBSS:
                        sym.Code = 'B'
                case goobj.SXREF, goobj.SMACHOSYMSTR, goobj.SMACHOSYMTAB, goobj.SMACHOINDIRECTPLT, goobj.SMACHOINDIRECTGOT, goobj.SFILE, goobj.SFILEPATH, goobj.SCONST, goobj.SDYNIMPORT, goobj.SHOSTOBJ:
-                       sym.Code = 'X'
+                       sym.Code = 'X' // should not see
                }
                if s.Version != 0 {
                        sym.Code += 'a' - 'A'
index c37d1cc0076adae8aef8b7705cac451eb096d15b..d369a4ab54d3a41f8c8e1e10be85f8e076269030 100644 (file)
@@ -24,6 +24,8 @@ var (
        sortOrder = flag.String("sort", "name", "")
        printSize = flag.Bool("size", false, "")
        printType = flag.Bool("type", false, "")
+
+       filePrefix = false
 )
 
 func init() {
@@ -64,6 +66,7 @@ func main() {
        }
 
        args := flag.Args()
+       filePrefix = len(args) > 1
        if len(args) == 0 {
                flag.Usage()
        }
@@ -136,6 +139,9 @@ HaveSyms:
 
        w := bufio.NewWriter(os.Stdout)
        for _, sym := range syms {
+               if filePrefix {
+                       fmt.Fprintf(w, "%s:\t", file)
+               }
                if sym.Code == 'U' {
                        fmt.Fprintf(w, "%8s", "")
                } else {
@@ -153,16 +159,6 @@ HaveSyms:
        w.Flush()
 }
 
-func filter(syms []Sym, ok func(Sym) bool) []Sym {
-       out := syms[:0]
-       for _, sym := range syms {
-               if ok(sym) {
-                       out = append(out, sym)
-               }
-       }
-       return out
-}
-
 type byAddr []Sym
 
 func (x byAddr) Len() int           { return len(x) }