bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug libctf/29292] New: Several CTF tests FAIL on Solaris


From: ro at gcc dot gnu.org
Subject: [Bug libctf/29292] New: Several CTF tests FAIL on Solaris
Date: Mon, 27 Jun 2022 09:23:28 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=29292

            Bug ID: 29292
           Summary: Several CTF tests FAIL on Solaris
           Product: binutils
           Version: 2.39 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libctf
          Assignee: unassigned at sourceware dot org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-solaris2.11

When building binutils trunk with gcc 12.1.0, several CTF tests FAIL:

FAIL: Arrays (conflicted)
FAIL: Conflicting cycle 1.B-1
FAIL: Conflicting cycle 1.B-2
FAIL: Conflicting cycle 1.parent
FAIL: Conflicting cycle 2.A-1
FAIL: Conflicting cycle 2.A-2
FAIL: Conflicting cycle 2.parent
FAIL: Conflicting cycle 3.C-1
FAIL: Conflicting cycle 3.C-2
FAIL: Conflicting cycle 3
FAIL: Conflicting Enums
FAIL: Conflicting Typedefs
FAIL: cross-TU-cyclic-conflicting
FAIL: cross-TU-into-cycle

FAIL:
/vol/src/gnu/binutils/hg/master/dist/libctf/testsuite/libctf-lookup/ambiguous-struct.c
FAIL:
/vol/src/gnu/binutils/hg/master/dist/libctf/testsuite/libctf-regression/libctf-repeat-cu.exp
FAIL:
/vol/src/gnu/binutils/hg/master/dist/libctf/testsuite/libctf-regression/pptrtab.c

(Btw., the libctf test names shouldn't contain full pathnames: this makes
comparing
test results between different builds unnecessarily difficult.)

E.g. for libctf-regression/libctf-repeat-cu.exp I get

$ ../binutils/objdump --ctf tmpdir/libctf-repeat-cu-main.so

tmpdir/libctf-repeat-cu-main.so:     file format elf64-x86-64-sol2

../binutils/objdump: error: ctf_arc_bufopen(): cannot open CTF
../binutils/objdump: CTF open failure: Buffer does not contain CTF data.
../binutils/objdump: tmpdir/libctf-repeat-cu-main.so: file in wrong format

Looking at the .ctf section of the shared object, I find that the header is
missing:

$ od -x dump.ctf |head
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000100 0000 0000 0000 0000 010c 0000 0000 0000
0000120 dff2 0e04 0000 0000 0000 0000 0000 0000

compared to the same operation on Linux/x86_64:

$  od -x dump.x86_64.ctf |head
0000000 3eeb d762 f2a4 8b47 0002 0000 0000 0000
0000020 0002 0000 0000 0000 0210 0000 0000 0000
0000040 0048 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 0005 0000 0000 0000
0000100 0110 0000 0000 0000 010c 0000 0000 0000
0000120 dff2 0e04 0000 0000 0000 0000 0000 0000

On a hunch, I disabled HAVE_MMAP in libctf/ctf-archive.c and with two
exceptions the tests now all PASS:

FAIL: Diagnostics - Invalid CU name offset
FAIL: Diagnostics - Non-zero parlabel in parent

I haven't yet found what's wrong: if the mmap code makes some unportable
assumption or Solaris mmap is weird in some way.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]