Landing: 92529f776514

Project / Subsystem

binutils / gas/bpf

Date

2026-09-10

Author

Vineet Gupta <vineetg@sourceware.org>

Commit

92529f776514b54b109021bbd4cde8471dd5ab14

Source

public_inbox

Perf win

No

Breaking

No

All attributes

project
binutils
subsystem
gas/bpf
patch_id
—
commit_hash
92529f776514b54b109021bbd4cde8471dd5ab14
source_type
public_inbox
headline
PR 34558: BPF assembler fixes `gotol` misassembly with signed offsets
tldr
BPF assembler now correctly assembles `gotol` with signed offsets, preventing silent misassembly into an unconditional jump.
author
Vineet Gupta <vineetg@sourceware.org>
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • bpf
  • • assembler
  • • relocation
  • • bugfix
discussion_id_link
public_inbox:binutils#34558
bugzilla_pr
—
date
2026-09-10T00:00:00.000Z

This commit resolves a bug in the BPF assembler (PR 34558) where gotol instructions with signed offsets were silently misassembled. Due to the order of unconditional jump mnemonics in the opcode table, gotol +1 was incorrectly parsed as goto l +1, resulting in the JA opcode with a 16-bit offset and an invalid relocation instead of the intended JAL opcode with a 32-bit immediate. The fix modifies the assembler’s template matching to correctly distinguish gotol from goto, especially with signed offsets.