From ed2671aa150598e5bf23c1c69b200a1afbb577d3 Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Mon, 22 Apr 2024 16:00:18 +0000 Subject: cmd/link/internal/ld: temporarily add skip for new portion of TestElfBindNow Skip newly added sections in TestElfBindNow from elf_test.go temporarily pending resolution of failures on loong64 and ppc64le. Change-Id: I22e0e52c9fbbcad88a4d0088f631ed7be15bf9da Reviewed-on: https://go-review.googlesource.com/c/go/+/580776 LUCI-TryBot-Result: Go LUCI Reviewed-by: Cherry Mui --- src/cmd/link/internal/ld/elf_test.go | 82 +++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/src/cmd/link/internal/ld/elf_test.go b/src/cmd/link/internal/ld/elf_test.go index b48cf66038..ad4149d55e 100644 --- a/src/cmd/link/internal/ld/elf_test.go +++ b/src/cmd/link/internal/ld/elf_test.go @@ -339,50 +339,54 @@ func TestElfBindNow(t *testing.T) { t.Fatalf("DT_FLAGS_1 DF_1_PIE got: %v, want: %v", gotDf1Pie, test.wantDf1Pie) } - for _, wsroname := range test.wantSecsRO { - // Locate section of interest. - var wsro *elf.Section - for _, s := range elfFile.Sections { - if s.Name == wsroname { - wsro = s - break + // Skipping this newer portion of the test temporarily pending resolution of problems on ppc64le, loonpg64, possibly others. + if false { + + for _, wsroname := range test.wantSecsRO { + // Locate section of interest. + var wsro *elf.Section + for _, s := range elfFile.Sections { + if s.Name == wsroname { + wsro = s + break + } + } + if wsro == nil { + t.Fatalf("test %s: can't locate %q section", + test.name, wsroname) } - } - if wsro == nil { - t.Fatalf("test %s: can't locate %q section", - test.name, wsroname) - } - // Now walk the program headers. Section should be part of - // some segment that is readonly. - foundRO := false - foundSegs := []*elf.Prog{} - for _, p := range elfFile.Progs { - if segContainsSec(p, wsro) { - foundSegs = append(foundSegs, p) - if p.Flags == elf.PF_R { - foundRO = true + // Now walk the program headers. Section should be part of + // some segment that is readonly. + foundRO := false + foundSegs := []*elf.Prog{} + for _, p := range elfFile.Progs { + if segContainsSec(p, wsro) { + foundSegs = append(foundSegs, p) + if p.Flags == elf.PF_R { + foundRO = true + } } } - } - if !foundRO { - // Things went off the rails. Write out some - // useful information for a human looking at the - // test failure. - t.Logf("test %s: %q section not in readonly segment", - wsro.Name, test.name) - t.Logf("section %s location: st=0x%x en=0x%x\n", - wsro.Name, wsro.Addr, wsro.Addr+wsro.FileSize) - t.Logf("sec %s found in these segments: ", wsro.Name) - for _, p := range foundSegs { - t.Logf(" %q", p.Type) - } - t.Logf("\nall segments: \n") - for k, p := range elfFile.Progs { - t.Logf("%d t=%s fl=%s st=0x%x en=0x%x\n", - k, p.Type, p.Flags, p.Vaddr, p.Vaddr+p.Filesz) + if !foundRO { + // Things went off the rails. Write out some + // useful information for a human looking at the + // test failure. + t.Logf("test %s: %q section not in readonly segment", + wsro.Name, test.name) + t.Logf("section %s location: st=0x%x en=0x%x\n", + wsro.Name, wsro.Addr, wsro.Addr+wsro.FileSize) + t.Logf("sec %s found in these segments: ", wsro.Name) + for _, p := range foundSegs { + t.Logf(" %q", p.Type) + } + t.Logf("\nall segments: \n") + for k, p := range elfFile.Progs { + t.Logf("%d t=%s fl=%s st=0x%x en=0x%x\n", + k, p.Type, p.Flags, p.Vaddr, p.Vaddr+p.Filesz) + } + t.Fatalf("test %s failed", test.name) } - t.Fatalf("test %s failed", test.name) } } }) -- cgit v1.2.3-54-g00ecf