On Thu, Jul 04 2019, Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote:
> On Tue, Jul 02 2019, Charlene Wendling <juliana...@posteo.jp> wrote:
>> Hi!
>>
>>> On Sun, Jun 30 2019, Sebastien Marie <sema...@online.fr> 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

Reply via email to