Skip to content

Commit ab93a13

Browse files
committed
BPF: misc minor review fixes
1 parent bd8e5ce commit ab93a13

File tree

5 files changed

+11
-11
lines changed

5 files changed

+11
-11
lines changed

compiler/rustc_target/src/spec/bpf_base.rs

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ pub fn opts(endian: Endian) -> TargetOptions {
1212
no_builtins: true,
1313
panic_strategy: PanicStrategy::Abort,
1414
position_independent_executables: true,
15+
// Disable MergeFunctions since:
16+
// - older kernels don't support bpf-to-bpf calls
17+
// - on newer kernels, userspace still needs to relocate before calling
18+
// BPF_PROG_LOAD and not all BPF libraries do that yet
1519
merge_functions: MergeFunctions::Disabled,
1620
obj_is_bitcode: true,
1721
requires_lto: false,

src/bootstrap/native.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ impl Step for Llvm {
235235
let llvm_targets = match &builder.config.llvm_targets {
236236
Some(s) => s,
237237
None => {
238-
"AArch64;ARM;Hexagon;MSP430;Mips;NVPTX;PowerPC;RISCV;\
239-
Sparc;SystemZ;WebAssembly;X86;BPF"
238+
"AArch64;ARM;BPF;Hexagon;MSP430;Mips;NVPTX;PowerPC;RISCV;\
239+
Sparc;SystemZ;WebAssembly;X86"
240240
}
241241
};
242242

src/doc/unstable-book/src/library-features/asm.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -571,8 +571,8 @@ Here is the list of currently supported register classes:
571571
| PowerPC | `reg_nonzero` | | `r[1-31]` | `b` |
572572
| PowerPC | `freg` | `f[0-31]` | `f` |
573573
| wasm32 | `local` | None\* | `r` |
574-
| BPF | `reg` | `r[0-10]` | `r`|
575-
| BPF | `wreg` | `w[0-10]` | `w`|
574+
| BPF | `reg` | `r[0-10]` | `r` |
575+
| BPF | `wreg` | `w[0-10]` | `w` |
576576

577577
> **Note**: On x86 we treat `reg_byte` differently from `reg` because the compiler can allocate `al` and `ah` separately whereas `reg` reserves the whole register.
578578
>
@@ -619,7 +619,7 @@ Each register class has constraints on which value types they can be used with.
619619
| PowerPC | `freg` | None | `f32`, `f64` |
620620
| wasm32 | `local` | None | `i8` `i16` `i32` `i64` `f32` `f64` |
621621
| BPF | `reg` | None | `i8` `i16` `i32` `i64` |
622-
| BPF | `wreg` | `alu32` | `i8` `i16` `i32`|
622+
| BPF | `wreg` | `alu32` | `i8` `i16` `i32` |
623623

624624
> **Note**: For the purposes of the above table pointers, function pointers and `isize`/`usize` are treated as the equivalent integer type (`i16`/`i32`/`i64` depending on the target).
625625

src/tools/compiletest/src/runtest.rs

-4
Original file line numberDiff line numberDiff line change
@@ -2311,10 +2311,6 @@ impl<'test> TestCx<'test> {
23112311
// No extra flags needed.
23122312
}
23132313

2314-
Some("bpf-linker") => {
2315-
rustc.arg("-Clink-args=--emit=asm");
2316-
}
2317-
23182314
Some(_) => self.fatal("unknown 'assembly-output' header"),
23192315
None => self.fatal("missing 'assembly-output' header"),
23202316
}

src/tools/compiletest/src/util.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ const ARCH_TABLE: &[(&str, &str)] = &[
4848
("armv7s", "arm"),
4949
("asmjs", "asmjs"),
5050
("avr", "avr"),
51-
("bpfeb", "bpfeb"),
52-
("bpfel", "bpfel"),
51+
("bpfeb", "bpf"),
52+
("bpfel", "bpf"),
5353
("hexagon", "hexagon"),
5454
("i386", "x86"),
5555
("i586", "x86"),

0 commit comments

Comments
 (0)