@@ -4,11 +4,16 @@ project {
4
4
includes += $(PIN_ROOT)/source/include \
5
5
$(PIN_ROOT)/source/include/pin \
6
6
$(PIN_ROOT)/source/include/pin/gen \
7
+ $(PIN_ROOT)/extras/stlport/include \
8
+ $(PIN_ROOT)/extras/libstdc++/include \
9
+ $(PIN_ROOT)/extras/crt/include \
10
+ $(PIN_ROOT)/extras/crt/include/kernel/uapi \
11
+ $(PIN_ROOT)/extras/crt/include/kernel/uapi/asm-x86 \
12
+ $(PIN_ROOT)/libunwind/include \
7
13
$(PIN_ROOT)/extras/components/include \
8
- $(PIN_ROOT)/extras/crt/include
14
+ $(PIN_ROOT)/extras/crt/include
9
15
10
16
macros += BIGARRAY_MULTIPLIER=1 USING_XED PIN_CRT=1 __PIN__=1
11
- lit_libs += c-dynamic m-dynamic stlport-dynamic dl-dynamic unwind-dynamic
12
17
13
18
specific (vc9) {
14
19
runtime_library = 0
@@ -36,18 +41,20 @@ project {
36
41
}
37
42
38
43
specific (gnuace, make) {
39
- compile_flags += -O3 -funwind-tables -fno-stack-protector -fasynchronous-unwind-tables -fomit-frame-pointer -fno-strict-aliasing -fno-rtti -faligned-new -fPIC -nostdlib -fpermissive -Wno-error=all -fno-exceptions
40
- compile_flags += '-isystem $(PIN_ROOT)/extras/stlport/include -isystem $(PIN_ROOT)/extras/libstdc++/include -isystem $(PIN_ROOT)/extras/crt/include -isystem $(PIN_ROOT)/extras/crt/include/kernel/uapi'
44
+ compile_flags += -O3 -funwind-tables -fno-stack-protector -fasynchronous-unwind-tables -fomit-frame-pointer -fno-strict-aliasing -fno-rtti -fPIC -nostdlib -fpermissive -Wno-error=all -fno-exceptions
41
45
compile_flags -= -Wunused-parameter
42
46
43
47
libs += xed
48
+ libs += c-dynamic m-dynamic stlport-dynamic unwind-dynamic
44
49
}
45
50
46
51
verbatim (make, macros) {
47
52
ifeq ($(shell uname -s), Darwin)
48
- CPPFLAGS += -DTARGET_MAC
53
+ CPPFLAGS += -DTARGET_MAC -D__DARWIN_ONLY_UNIX_CONFORMANCE=1 -D__DARWIN_UNIX03=0
54
+ LDFLAGS += -Wl,-no_new_main
49
55
else
50
- CPPFLAGS += -DTARGET_LINUX
56
+ CPPFLAGS += -DTARGET_LINUX -faligned-new
57
+ LDFLAGS += -ldl-dynamic
51
58
endif
52
59
53
60
// We have to disable hidden symbols since we are not manually exporting
@@ -57,15 +64,16 @@ project {
57
64
58
65
verbatim (gnuace, macros) {
59
66
ifeq ($(shell uname -s), Darwin)
60
- CPPFLAGS += -DTARGET_MAC
67
+ CPPFLAGS += -DTARGET_MAC -D__DARWIN_ONLY_UNIX_CONFORMANCE=1 -D__DARWIN_UNIX03=0
61
68
else
62
- CPPFLAGS += -DTARGET_LINUX -Wl,--hash-style=sysv
69
+ CPPFLAGS += -DTARGET_LINUX -Wl,--hash-style=sysv -faligned-new
63
70
endif
64
71
}
65
72
}
66
73
67
74
feature(ia32) {
68
- includes += $(PIN_ROOT)/extras/xed-ia32/include
75
+ includes += $(PIN_ROOT)/extras/xed-ia32/include \
76
+ $(PIN_ROOT)/extras/crt/include/arch-x86
69
77
70
78
libpaths += $(PIN_ROOT)/ia32/lib \
71
79
$(PIN_ROOT)/ia32/lib-ext \
@@ -90,12 +98,14 @@ feature(ia32) {
90
98
91
99
feature(intel64) {
92
100
includes += $(PIN_ROOT)/extras/xed-intel64/include \
93
- $(PIN_ROOT)/extras/xed-intel64/include/xed
101
+ $(PIN_ROOT)/extras/xed-intel64/include/xed \
102
+ $(PIN_ROOT)/extras/crt/include/arch-x86_64
94
103
95
104
libpaths += $(PIN_ROOT)/intel64/lib \
96
105
$(PIN_ROOT)/intel64/lib-ext \
97
106
$(PIN_ROOT)/extras/xed-intel64/lib \
98
- $(PIN_ROOT)/extras/components/lib/intel64
107
+ $(PIN_ROOT)/extras/components/lib/intel64 \
108
+ $(PIN_ROOT)/intel64/runtime/pincrt
99
109
100
110
macros += TARGET_IA32E HOST_IA32E
101
111
avoids += ia32
0 commit comments