From patchwork Tue Mar 3 10:20:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mark at klomp dot org X-Patchwork-Id: 130998 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 843424BAD15F for ; Tue, 3 Mar 2026 10:20:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 843424BAD15F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1772533226; bh=NevQPoYsZAe2UBSWqnZYWhzESbYLRcG+0Au82QYePYs=; h=From:To:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=uLPHs3hSVBcpiOaSkso3fMteYdL3RpqEGrCEJmCSxx803CIRWxS+2f4Ay5QHTieBB QF4Y3DwoobwSqLg3GuM3nNfvFHBRlXpBTOORt86BeQ8Bu+C0jSWXLrIqNORF6E4ACH zK2po1bNUb13wwYYDbQ4puPy6+ahvs+TWChj94dM= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: by sourceware.org (Postfix, from userid 48) id A530A4BAD14F; Tue, 3 Mar 2026 10:20:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A530A4BAD14F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1772533221; bh=NevQPoYsZAe2UBSWqnZYWhzESbYLRcG+0Au82QYePYs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=J/AQOMW7lJZw98nly4IzoRnhd+Gy3nqEA+yQmIuC5kC0DrY8bad6qe79AwuW4KqUp cLNUo7uyFqLBL3sJNSR5ZMhVA4OQmxrGdFghBJ7KKmHaqU6j+EqFAntXcOWfFwAcSO AdOMNRKHM0W1ZlTQfmFdSVVzhxOZ82eHSyCyUgfs= From: "dodji at seketeli dot org" To: libabigail@sourceware.org Subject: [Bug default/33869] abidiff broken output on arc/hexagon/mips64/ok1j/sh4 linux kernel headers Date: Tue, 03 Mar 2026 10:20:21 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dodji at seketeli dot org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on bug_status everconfirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org https://sourceware.org/bugzilla/show_bug.cgi?id=33869 Dodji Seketeli changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2026-03-03 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #5 from Dodji Seketeli --- Ok, so after discussing this on IRC with Aaron Merey, Mark Wielaard and Arnd Bergmann, here is my understanding of what is happening. Aaron noted that when looking at the output of eu-readelf --debug-dump=info for latest testcase for nios2 provided as attachment, it looks like all of DW_AT_name using DW_FORM_strp resolves to the the "sys_vfork" string which is at offset 0 in .debug_str. binutils readelf however only references "sys_vfork" onces as the name of a subprogram. Aaron also noted that `eu-readelf -r xt_hashlimit-new.bin` lists all .rela.debug_* relocation types as while binutils readelf lists them all with known R_NIOS2_* types. Mark noted that the R_NIOS2_* relocations are for the EM_ALTERA_NIOS2, aka Altera Nios II. Sadly, elfutils just doesn't have a backend for that machine yet. Which explains why all DW_FORM_strp resolve to offset 0, because relocations aren't being applied for that unknown machine. That problem is only for ET_REL binaries as ET_DYN binaries are relocated and thus don't have the R_NIOS2_* relocations. Linux kernel binaries are unfortunately ET_REL files. Arnd would workaround his issue by locally and temporarily changing the kernel's scripts/check-uapi.sh to make it build ET_DYN binaries: One should thus file an enhancement request to elfutils to add a backend for the EM_ALTERA_NIOS2 machine. --- a/scripts/check-uapi.sh +++ b/scripts/check-uapi.sh @@ -199,9 +199,10 @@ do_compile() { local -r header="$2" local -r out="$3" printf "int main(void) { return 0; }\n" | \ - "$CC" -c \ + "$CC" \ -o "$out" \ -x c \ + -shared -fPIC -nostdlib \ -O0 \ -std=c90 \ -fno-eliminate-unused-debug-types \