Hi -- On 5/27/2012 8:32 PM, Jonathan Gray wrote:
you'll need to modify the driver as well Here is a diff against clang svn that adds OpenBSD specific arm/mips64/mips64el/powerpc/sparc targets. If the gcc config has arch specific OpenBSD settings that differ from the defaults more will have to be done. I don't know if this is enough as I've only compile tested it on i386. In particular I'm not sure which arm/mips64 abi is being defaulted to. Index: lib/Basic/Targets.cpp =================================================================== --- lib/Basic/Targets.cpp (revision 155625) +++ lib/Basic/Targets.cpp (working copy) @@ -3924,6 +3924,8 @@ return new FreeBSDTargetInfo<ARMTargetInfo>(T); case llvm::Triple::NetBSD: return new NetBSDTargetInfo<ARMTargetInfo>(T); + case llvm::Triple::OpenBSD: + return new OpenBSDTargetInfo<ARMTargetInfo>(T); case llvm::Triple::RTEMS: return new RTEMSTargetInfo<ARMTargetInfo>(T); default: @@ -3971,6 +3973,8 @@ return new FreeBSDTargetInfo<Mips64EBTargetInfo>(T); case llvm::Triple::NetBSD: return new NetBSDTargetInfo<Mips64EBTargetInfo>(T); + case llvm::Triple::OpenBSD: + return new OpenBSDTargetInfo<Mips64EBTargetInfo>(T); default: return new Mips64EBTargetInfo(T); } @@ -3985,6 +3989,8 @@ return new FreeBSDTargetInfo<Mips64ELTargetInfo>(T); case llvm::Triple::NetBSD: return new NetBSDTargetInfo<Mips64ELTargetInfo>(T); + case llvm::Triple::OpenBSD: + return new OpenBSDTargetInfo<Mips64ELTargetInfo>(T); default: return new Mips64ELTargetInfo(T); } @@ -4007,6 +4013,8 @@ return new FreeBSDTargetInfo<PPC32TargetInfo>(T); case llvm::Triple::NetBSD: return new NetBSDTargetInfo<PPC32TargetInfo>(T); + case llvm::Triple::OpenBSD: + return new OpenBSDTargetInfo<PPC32TargetInfo>(T); case llvm::Triple::RTEMS: return new RTEMSTargetInfo<PPC32TargetInfo>(T); default: @@ -4047,6 +4055,8 @@ return new SolarisSparcV8TargetInfo(T); case llvm::Triple::NetBSD: return new NetBSDTargetInfo<SparcV8TargetInfo>(T); + case llvm::Triple::OpenBSD: + return new OpenBSDTargetInfo<SparcV8TargetInfo>(T); case llvm::Triple::RTEMS: return new RTEMSTargetInfo<SparcV8TargetInfo>(T); default:
No change with this patch :( Thanks. ~Brian