On Fri, May 27, 2016 at 03:13:04PM +0800, Hekuang wrote:
SNIP
hum, I wouldn't worry about that.. but you're right,- I understand we need to compile 3 objects from unwind-libunwind.c,The only concern is that, if later we support more platforms,
how about we create 3 files like:
util/unwind-libunwind-local.c
util/unwind-libunwind-x86_32.c
util/unwind-libunwind-arm64.c
which would setup all necessary defines and include unwind-libunwind.c like:
---
/* comments explaining every define ;-) */
...
#define LOCAL... REMOTE..
...
#include <util/unwind-libunwind-local.c>
...
----
this way we will keep all the special setup for given unwind object
in one place and you can also use simple rule in the Build file like
without defining special rule:
libperf-$(CONFIG_LIBUNWIND_X86) += unwind-libunwind_x86_32.o
libperf-$(CONFIG_LIBUNWIND_AARCH64) += unwind-libunwind_arm64.o
the same way for the arch object:
arch/x86/util/unwind-libunwind-local.c
arch/x86/util/unwind-libunwind-x86_32.c
Not sure I thought everything through, but I think this way
we'll keep it more maintainable and readable..
let me know what you think
there will be too much files named as 'tools/perf/util/unwind-libunwind*.c'
Is it acceptable or not?
And I thought all files belongs to specific archs should
go to folder under 'tools/perf/arch/xxx', is that right?
let's put them under arch
thanks,
jirka