On Thu, Jul 04 2019, Jeremie Courreges-Anglas <[email protected]> wrote:
> On Tue, Jul 02 2019, Charlene Wendling <[email protected]> wrote:
>> Hi!
>>
>>> On Sun, Jun 30 2019, Sebastien Marie <[email protected]> wrote:
>>> > On Sun, Jun 30, 2019 at 12:55:44AM +0200, Jeremie Courreges-Anglas
>>> > wrote:
>>> >>
>>> >> Here's the diff I'm testing right now. I have merged the llvm
>>> >> patches this morning and I did not double check them so far, but
>>> >> this lets llvm, include-what-you-use, rust and ripgrep build on
>>> >> amd64. mozillas are building on amd64, llvm still compiling on
>>> >> sparc64.
>>> >>
>>> >> Sebastien, I guess we'll need to coordinate regarding rust-1.35 /
>>> >> rust-1.36 and llvm-7 / llvm-8.
>>> >
>>> > I think you have more work than me to push a tested llvm-8. so you
>>> > should go first, and I will redo a part of my work for upgrading rust
>>> > to 1.36, using llvm-8.
>>>
>>> I guess it's going to be easier for me this way, I'm not completely
>>> sure. After all, rust doesn't build on the slower archs that need to be
>>> tested with llvm-8. Anyway, the current rust version seems to cope fine
>>> with llvm-8 so upgrading llvm first sound appealing.
>>>
>>> > I will use the diff to prepare llvm-8 packages on my buildhosts and
>>> > test rust-1.36 with that.
>>>
>>> Please use this updated diff which adds py-recommonmark[0] as a build
>>> dep. Sorry for the obvious oversight!
>>>
>>> [0] https://marc.info/?l=openbsd-ports&m=156189089024457&w=2
>>
>> On macppc it fails while packaging [1] because some .a aren't built,
>> as such i've modified a bit the PLISTs.
>
> Thanks (again) for this.
>
>> I guess it's because on macppc only the powerpc target is built.
>
> Yep.
>
>> devel/include-what-you-use still doesn't build with the same error
>> llvm-7 has [2], probably for the same reason.
>
> I had missed that one. iwyu.cc:
>
> --8<--
> int main(int argc, char **argv) {
> // Must initialize X86 target to be able to parse Microsoft inline
> // assembly. We do this unconditionally, because it allows an IWYU
> // built for non-X86 targets to parse MS inline asm without choking.
> LLVMInitializeX86TargetInfo();
> LLVMInitializeX86TargetMC();
> LLVMInitializeX86AsmParser();
> -->8--
>
> For the ports tree I guess an #ifndef __powerpc__ would be enough.
Jonathan, Charlene, please see the diff below.
>> I'm sending the diff with only the PLIST changes done. sysutils/free
>> builds and runs fine with forced COMPILER. I'll report any arising issues.
>
> As discussed privately PLIST/PFRAG were still not right but that was easy
> to fix. On top of this I had missed some bits when doing the merge of
> OpenBSD.cpp, which resulted in -lcompiler_rt being incorrectly used
> instead of libgcc on sparc64 (rather, where libestdc++ is used).
> I spotted this thanks to a failure in devel/cbmc.
>
> Here's the latest diff. It still doesn't merge all the changes from
> base but the differences don't seem to matter for the correctness of the
> compiled code, so I might address this later. Hopefully this version
> can go in soonish so that semarie@ can proceed to updating lang/rust.
>
> Feedback, reviews, tests, oks etc welcome, as usual.
The latest diff needed yet another PLIST fix. This update has been
committed, including the include-what-you-use version bump. I will now
work on syncing the remaining differences between base-clang and
ports-clang. Thank you all.
Tentative fix for include-what-you-use on powerpc.
Index: patches/patch-iwyu_cc
===================================================================
RCS file: patches/patch-iwyu_cc
diff -N patches/patch-iwyu_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-iwyu_cc 6 Jul 2019 15:15:53 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+
+devel/llvm is built without X86 target support on powerpc.
+
+Index: iwyu.cc
+--- iwyu.cc.orig
++++ iwyu.cc
+@@ -4066,9 +4066,11 @@ int main(int argc, char **argv) {
+ // Must initialize X86 target to be able to parse Microsoft inline
+ // assembly. We do this unconditionally, because it allows an IWYU
+ // built for non-X86 targets to parse MS inline asm without choking.
++#ifndef __powerpc__
+ LLVMInitializeX86TargetInfo();
+ LLVMInitializeX86TargetMC();
+ LLVMInitializeX86AsmParser();
++#endif
+
+ // The command line should look like
+ // path/to/iwyu -Xiwyu --verbose=4 [-Xiwyu --other_iwyu_flag]...
CLANG_FLAGS... foo.cc
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE