[ovs-dev] openvswitch 2.0.0 build breaks on PPC
Flavio Leitner
fbl at redhat.com
Tue Oct 29 17:15:58 UTC 2013
On Tue, Oct 29, 2013 at 08:37:58AM -0700, Ben Pfaff wrote:
> On Tue, Oct 29, 2013 at 10:51:02AM -0200, Flavio Leitner wrote:
> > While updating the packages to 2.0.0 I found that the build fails on
> > PPC.
> >
> > I am not an expert on PPC arch, but I think it doesn't support atomic
> > operations of 8 bytes (64bit) on 32bit system, then there is no GCC
> > built-in[1] for those cases which breaks the build.
>
> I only see build failures in the test-atomic program. That's a good
> sign that we only use these 8-byte atomic operations in the test
> program, not in real code. Are there other build failures? (Does "make
> vswitchd/ovs-vswitchd" succeed?)
I've applied the patch below commenting out the problematic ones
in test-atomic to work around and I was able to build the rpms.
So, yeah, that's the only issue as far as I can see.
fbl
--- openvswitch-2.0.0/tests/test-atomic.c 2013-10-15 19:12:35.000000000 -0300
+++ openvswitch-2.0.0.ppc/tests/test-atomic.c 2013-10-29 14:55:15.441727470 -0200
@@ -83,12 +83,16 @@ main(void)
TEST_ATOMIC_TYPE(atomic_uint, unsigned int);
TEST_ATOMIC_TYPE(atomic_long, long int);
TEST_ATOMIC_TYPE(atomic_ulong, unsigned long int);
+#if 0
TEST_ATOMIC_TYPE(atomic_llong, long long int);
TEST_ATOMIC_TYPE(atomic_ullong, unsigned long long int);
+#endif
TEST_ATOMIC_TYPE(atomic_size_t, size_t);
TEST_ATOMIC_TYPE(atomic_ptrdiff_t, ptrdiff_t);
+#if 0
TEST_ATOMIC_TYPE(atomic_intmax_t, intmax_t);
TEST_ATOMIC_TYPE(atomic_uintmax_t, uintmax_t);
+#endif
TEST_ATOMIC_TYPE(atomic_intptr_t, intptr_t);
TEST_ATOMIC_TYPE(atomic_uintptr_t, uintptr_t);
TEST_ATOMIC_TYPE(atomic_uint8_t, uint8_t);
@@ -97,8 +101,10 @@ main(void)
TEST_ATOMIC_TYPE(atomic_int16_t, int16_t);
TEST_ATOMIC_TYPE(atomic_uint32_t, uint32_t);
TEST_ATOMIC_TYPE(atomic_int32_t, int32_t);
+#if 0
TEST_ATOMIC_TYPE(atomic_uint64_t, uint64_t);
TEST_ATOMIC_TYPE(atomic_int64_t, int64_t);
+#endif
test_atomic_flag();
More information about the dev
mailing list