Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'objtool-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool fixes from Ingo Molnar:
"Fix two objtool build failures that trigger in uncommon build
environments"

* tag 'objtool-urgent-2026-01-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
objtool: fix build failure due to missing libopcodes check
objtool: fix compilation failure with the x32 toolchain

+16 -12
+14 -10
tools/objtool/Makefile
··· 72 72 73 73 # 74 74 # To support disassembly, objtool needs libopcodes which is provided 75 - # with libbdf (binutils-dev or binutils-devel package). 75 + # with libbfd (binutils-dev or binutils-devel package). 76 76 # 77 - FEATURE_USER = .objtool 78 - FEATURE_TESTS = libbfd disassembler-init-styled 79 - FEATURE_DISPLAY = 80 - include $(srctree)/tools/build/Makefile.feature 77 + # We check using HOSTCC directly rather than the shared feature framework 78 + # because objtool is a host tool that links against host libraries. 79 + # 80 + HAVE_LIBOPCODES := $(shell echo 'int main(void) { return 0; }' | \ 81 + $(HOSTCC) -xc - -o /dev/null -lopcodes 2>/dev/null && echo y) 81 82 82 - ifeq ($(feature-disassembler-init-styled), 1) 83 - OBJTOOL_CFLAGS += -DDISASM_INIT_STYLED 84 - endif 83 + # Styled disassembler support requires binutils >= 2.39 84 + HAVE_DISASM_STYLED := $(shell echo '$(pound)include <dis-asm.h>' | \ 85 + $(HOSTCC) -E -xc - 2>/dev/null | grep -q disassembler_style && echo y) 85 86 86 87 BUILD_DISAS := n 87 88 88 - ifeq ($(feature-libbfd),1) 89 + ifeq ($(HAVE_LIBOPCODES),y) 89 90 BUILD_DISAS := y 90 - OBJTOOL_CFLAGS += -DDISAS -DPACKAGE="objtool" 91 + OBJTOOL_CFLAGS += -DDISAS -DPACKAGE='"objtool"' 91 92 OBJTOOL_LDFLAGS += -lopcodes 93 + ifeq ($(HAVE_DISASM_STYLED),y) 94 + OBJTOOL_CFLAGS += -DDISASM_INIT_STYLED 95 + endif 92 96 endif 93 97 94 98 export BUILD_DISAS
+2 -2
tools/objtool/include/objtool/warn.h
··· 152 152 if (unlikely(insn->sym && insn->sym->pfunc && \ 153 153 insn->sym->pfunc->debug_checksum)) { \ 154 154 char *insn_off = offstr(insn->sec, insn->offset); \ 155 - __dbg("checksum: %s %s %016lx", \ 156 - func->name, insn_off, checksum); \ 155 + __dbg("checksum: %s %s %016llx", \ 156 + func->name, insn_off, (unsigned long long)checksum);\ 157 157 free(insn_off); \ 158 158 } \ 159 159 })