From mboxrd@z Thu Jan 1 00:00:00 1970 From: acme@redhat.com (acme@redhat.com) Date: Fri, 5 Feb 2016 13:10:27 -0300 Subject: [RFC] perf: fix building for ARCv1 In-Reply-To: References: <20151019095157.GM3816@twins.programming.kicks-ass.net> <20151020101133.GA17308@twins.programming.kicks-ass.net> <1446134296.3203.27.camel@synopsys.com> <1454516455.2811.4.camel__10775.5710989752$1454516490$gmane$org@synopsys.com> <56B2CFF2.4030503@synopsys.com> List-ID: Message-ID: <20160205161027.GG28242@kernel.org> To: linux-snps-arc@lists.infradead.org Em Fri, Feb 05, 2016 at 11:18:52AM +0000, Noam Camus escreveu: > Well here for EZchip I also see the: > undefined reference to `__sync_add_and_fetch_4' > undefined reference to `__sync_sub_and_fetch_4' Yeah, because there is no: tools/arch/arc/include/asm/atomic.h, can't you guys adapt arch/arc/include/asm/atomic.h to use in userspace? - Arnaldo > This is since at file tools/include/asm/atomic.h we use the generic implementation > If for ARC I could use just like x86 my own header file then functions like: > atomic_inc() > atomic_dec_and_test() > Are easy to implement and you may see an example for such atomic methods in my patch set for the new platform. > > You however wants to use some GCC flag -matomic which I assume somehow will implement the above __sync*. > I can't find the implementation but if it uses LLSC then it won't work for me since I am not supporting LLSC. > So seem that either I have my own header at kernel or that I need to > change the GCC implementation for __sync* to use my atomic > instructions. I am personally tend to the x86 solution and not the > generic one since changing GCC will require to have new compiler > dependency.