i386 should be pentiumpro (no SSE2, no ...)
pass -znotext to avoid relocation problem with __rust_probestack symbol

Index: compiler/rustc_target/src/spec/i686_unknown_openbsd.rs
--- compiler/rustc_target/src/spec/i686_unknown_openbsd.rs.orig
+++ compiler/rustc_target/src/spec/i686_unknown_openbsd.rs
@@ -2,10 +2,11 @@ use crate::spec::{LinkerFlavor, StackProbeType, Target
 
 pub fn target() -> Target {
     let mut base = super::openbsd_base::opts();
-    base.cpu = "pentium4".into();
+    base.cpu = "pentiumpro".into();
     base.max_atomic_width = Some(64);
     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-fuse-ld=lld".into());
+    base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,-znotext".into());
     // don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
     base.stack_probes = StackProbeType::Call;
 
