On Tue, May 19, 2020 at 11:36:23PM +0200, Patrick Wildt wrote: > Hi, > > drahn@ was complaining to me that his cross-compiler wasn't defining > __OpenBSD__ or __ELF__, and I think the fix is pretty simple. We're > just missing a case in a switch-case. > > The .cpp file itself still compiles, but I haven't built a full clang > with it. Please give it a go and report back. > > I'll already ask for OKs though, but will only commit once I got > positive feedback. :) > > ok?
$ powerpc64-unknown-openbsd6.7-clang -dM -E - ... #define __OpenBSD__ 1 ... #define __ELF__ 1 ... ok drahn@ > > Patrick > > diff --git a/gnu/llvm/tools/clang/lib/Basic/Targets.cpp > b/gnu/llvm/tools/clang/lib/Basic/Targets.cpp > index 3c139d72479..5bff08ad70d 100644 > --- a/gnu/llvm/tools/clang/lib/Basic/Targets.cpp > +++ b/gnu/llvm/tools/clang/lib/Basic/Targets.cpp > @@ -349,6 +349,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple, > return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); > case llvm::Triple::NetBSD: > return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); > + case llvm::Triple::OpenBSD: > + return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); > default: > return new PPC64TargetInfo(Triple, Opts); > } > @@ -359,6 +361,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple, > return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts); > case llvm::Triple::NetBSD: > return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); > + case llvm::Triple::OpenBSD: > + return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); > default: > return new PPC64TargetInfo(Triple, Opts); > } > Dale Rahn [email protected]
