diff --git a/src/debug/elf/elf_test.go b/src/debug/elf/elf_test.go
index a61b491..b8c310d 100644
--- a/src/debug/elf/elf_test.go
+++ b/src/debug/elf/elf_test.go
@@ -47,3 +47,25 @@
 		}
 	}
 }
+
+func TestNobitsSection(t *testing.T) {
+	const testdata = "testdata/gcc-amd64-linux-exec"
+	f, err := Open(testdata)
+	if err != nil {
+		t.Fatalf("could not read %s: %v", testdata, err)
+	}
+	defer f.Close()
+	bss := f.Section(".bss")
+	bssData, err := bss.Data()
+	if err != nil {
+		t.Fatalf("error reading .bss section: %v", err)
+	}
+	if g, w := uint64(len(bssData)), bss.Size; g != w {
+		t.Errorf(".bss section length mismatch: got %d, want %d", g, w)
+	}
+	for i := range bssData {
+		if bssData[i] != 0 {
+			t.Fatalf("unexpected non-zero byte at offset %d: %#x", i, bssData[i])
+		}
+	}
+}
diff --git a/src/debug/elf/file.go b/src/debug/elf/file.go
index eefcaab..8c84661 100644
--- a/src/debug/elf/file.go
+++ b/src/debug/elf/file.go
@@ -120,6 +120,9 @@
 // Even if the section is stored compressed in the ELF file,
 // the ReadSeeker reads uncompressed data.
 func (s *Section) Open() io.ReadSeeker {
+	if s.Type == SHT_NOBITS {
+		return io.NewSectionReader(&zeroReader{}, 0, int64(s.Size))
+	}
 	if s.Flags&SHF_COMPRESSED == 0 {
 		return io.NewSectionReader(s.sr, 0, 1<<63-1)
 	}
@@ -1453,3 +1456,12 @@
 	}
 	return all, nil
 }
+
+type zeroReader struct{}
+
+func (*zeroReader) ReadAt(p []byte, off int64) (n int, err error) {
+	for i := range p {
+		p[i] = 0
+	}
+	return len(p), nil
+}
