From 2a679f8e3a5efc60a7766699faba37e16135eda9 Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Sun, 24 Aug 2014 20:31:16 -0400 Subject: [PATCH] cmd/link: fix testdata generation Fixes #8494. LGTM=rsc R=golang-codereviews, gobot, rsc, evankroske CC=golang-codereviews https://golang.org/cl/123040043 --- src/cmd/link/pclntab_test.go | 6 ++++++ src/cmd/link/testdata/Makefile | 2 +- src/cmd/link/testdata/autosection.6 | Bin 890 -> 850 bytes src/cmd/link/testdata/autoweak.6 | Bin 427 -> 387 bytes src/cmd/link/testdata/dead.6 | Bin 1066 -> 836 bytes src/cmd/link/testdata/hello.6 | Bin 273 -> 233 bytes src/cmd/link/testdata/layout.6 | Bin 431 -> 391 bytes src/cmd/link/testdata/link.hello.darwin.amd64 | 11 ++++------- src/cmd/link/testdata/pclntab.6 | Bin 4611 -> 3799 bytes 9 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/cmd/link/pclntab_test.go b/src/cmd/link/pclntab_test.go index 5696a0978d..75d432fc5d 100644 --- a/src/cmd/link/pclntab_test.go +++ b/src/cmd/link/pclntab_test.go @@ -276,6 +276,12 @@ func checkPCData(t *testing.T, r *SymReader, name string, off, pc, pnum, val int // readPCData reads the PCData table offset off // to obtain and return the value associated with pc. func readPCData(t *testing.T, r *SymReader, name, pcdataname string, pcoff uint32, pc int) (int, bool) { + // "If pcsp, pcfile, pcln, or any of the pcdata offsets is zero, + // that table is considered missing, and all PCs take value -1." + if pcoff == 0 { + return -1, true + } + var it PCIter for it.Init(r.p, r.data[pcoff:]); !it.Done; it.Next() { if it.PC <= uint32(pc) && uint32(pc) < it.NextPC { diff --git a/src/cmd/link/testdata/Makefile b/src/cmd/link/testdata/Makefile index 3b1b15f731..e9651a03f6 100644 --- a/src/cmd/link/testdata/Makefile +++ b/src/cmd/link/testdata/Makefile @@ -9,7 +9,7 @@ ALL=\ all: $(ALL) %.6: %.s - go tool 6a $*.s + GOARCH=amd64 GOOS=darwin go tool 6a -trimpath=$(shell pwd) $*.s pclntab.s: genpcln.go go run genpcln.go >pclntab.s diff --git a/src/cmd/link/testdata/autosection.6 b/src/cmd/link/testdata/autosection.6 index bc9d446e1a9f6762a03df806dd8ede7287f1f79b..97e8872bd828a165b9749ed66ca413a170614d46 100644 GIT binary patch delta 59 zcmeyxc8P6*oOViLiiw4hQBrbpTAD(5YKnqmX}W@enS!B#m63&&p{0V6fuV_lu7SCM P!9?$5MyZWgmofnW6dn-m delta 99 zcmcb__KR(ToUVz5xv_z{WwN1(L9#-4YKnqmL6L%?nS!CYm7$rHfrWyRfuV_lu7SCM zfr9o#&t&y9{m|mnqGJ7`;$;1F{q%hO;-X~zdPCF$r#l*tMC@DEPElnXjHATU(G+n{KOu^8=%E-dX&{Dz3z|cfN*TCGs NV4`<2qsYXo*8tvK5K;gD delta 98 zcmZo>Ud=o~PS?c3+}Oa}GTG3?AXyuz|cfN*TCGs zKtX$=XR>;NerR!OQL%neak758etN!saZ$28I- f$Aws>lN}kGh*o=q(Vb|uJWM9Us@?3!#LNf)fdOke diff --git a/src/cmd/link/testdata/hello.6 b/src/cmd/link/testdata/hello.6 index b129dc02999b1282e85bbe0e43ef77ab16ff3abf..67983f1a9f8bfec2d1fac59bcaea3016f3bb3e8c 100644 GIT binary patch delta 58 zcmbQp^pbIcoOViLiiw4hQBrbpTAD(5YKnqmX}W@enS!B#m63&&p{0V6fuV_lu7SCM N!9?#8M!t#9v;pns5DWkS delta 98 zcmaFKIFV_BoUVz5xv_z{WwN1(L9#-4YKnqmL6L%?nS!CYm7$rHfrWyRfuV_lu7SCM zfr9o#&l2@0{m|mnqGJ7`;$;1F{q%hO;-X~zuz|cfN*TCGs zKtX$==N|PK{m|mnqGJ7`;$;1F{q%hO;-X~z CcO3cv diff --git a/src/cmd/link/testdata/link.hello.darwin.amd64 b/src/cmd/link/testdata/link.hello.darwin.amd64 index b1f0a93b21..0bd475dd81 100644 --- a/src/cmd/link/testdata/link.hello.darwin.amd64 +++ b/src/cmd/link/testdata/link.hello.darwin.amd64 @@ -6,8 +6,8 @@ * 00000060 00 00 00 00 00 00 00 00 19 00 00 00 38 01 00 00 |............8...| 00000070 5f 5f 54 45 58 54 00 00 00 00 00 00 00 00 00 00 |__TEXT..........| -00000080 00 10 00 00 00 00 00 00 d6 10 00 00 00 00 00 00 |................| -00000090 00 00 00 00 00 00 00 00 d6 10 00 00 00 00 00 00 |................| +00000080 00 10 00 00 00 00 00 00 b0 10 00 00 00 00 00 00 |................| +00000090 00 00 00 00 00 00 00 00 b0 10 00 00 00 00 00 00 |................| 000000a0 07 00 00 00 05 00 00 00 03 00 00 00 00 00 00 00 |................| 000000b0 5f 5f 74 65 78 74 00 00 00 00 00 00 00 00 00 00 |__text..........| 000000c0 5f 5f 54 45 58 54 00 00 00 00 00 00 00 00 00 00 |__TEXT..........| @@ -21,7 +21,7 @@ * 00000150 5f 5f 66 75 6e 63 74 61 62 00 00 00 00 00 00 00 |__functab.......| 00000160 5f 5f 54 45 58 54 00 00 00 00 00 00 00 00 00 00 |__TEXT..........| -00000170 20 20 00 00 00 00 00 00 b6 00 00 00 00 00 00 00 | ..............| +00000170 20 20 00 00 00 00 00 00 90 00 00 00 00 00 00 00 | ..............| 00000180 20 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...............| * 000001a0 19 00 00 00 98 00 00 00 5f 5f 44 41 54 41 00 00 |........__DATA..| @@ -48,10 +48,7 @@ 00001070 00 00 00 00 00 00 00 00 5f 72 74 30 5f 67 6f 00 |........_rt0_go.| 00001080 02 20 00 04 20 00 06 05 02 05 02 05 02 05 02 02 |. .. ...........| 00001090 02 02 02 05 02 02 02 01 00 00 00 00 00 00 00 00 |................| -000010a0 02 00 00 00 88 00 00 00 2f 55 73 65 72 73 2f 72 |......../Users/r| -000010b0 73 63 2f 67 2f 67 6f 2f 73 72 63 2f 63 6d 64 2f |sc/g/go/src/cmd/| -000010c0 6c 69 6e 6b 2f 74 65 73 74 64 61 74 61 2f 68 65 |link/testdata/he| -000010d0 6c 6c 6f 2e 73 00 00 00 00 00 00 00 00 00 00 00 |llo.s...........| +000010a0 02 00 00 00 88 00 00 00 68 65 6c 6c 6f 2e 73 00 |........hello.s.| * 00002000 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a |hello world.| 0000200c diff --git a/src/cmd/link/testdata/pclntab.6 b/src/cmd/link/testdata/pclntab.6 index 918411ca5b7badc7ceafc04a152edad88ab05d3e..596daa9b57eb4dc09c1b34d099732fd5370fa7f1 100644 GIT binary patch delta 239 zcmZoxxh^|FPCF$r#l*tMC@DEPElnXjHATU(G+n{KOu^8=%E-dX&{Dz3z|cfN*TCGs zV59db=E;&QHl|#ec?G2_B;Lx%tW delta 1074 zcmcaE+pID{PS?c3+}Oa}GTG3?AXyuz|cfN*TCGs zKtX$>=P70u4u%HS$-*o)^Qb`bEXb`sw=V`TE60$@`6s&p&BBvN7s12RjCdb_JZwaoa#LK&>oEfeWITz{WsJ*s?52Za_a75i zT4`SL<}waBR$y!#V4pmN*Pmvwfipd!Ixq>AT#3vLFy$n~#$-0Wc6B22<>Wp-PXK7p BbfN$N -- 2.48.1