132-13
[darwin-xtools.git] / dyld / unit-tests / test-cases / pie-dylib / Makefile
blob3b709dd19b07270693798a455f860c229db11e90
1 TESTROOT = ../..
2 include ${TESTROOT}/include/common.makefile
5 # <rdar://problem/6050482> If pie, ignore preferred load address
7 # run a PIE four times and verify libfoo.dylib load address was different every time
10 FOO_ADDRESS = 0x10000000
12 ifeq "x86_64" "$(ARCH)"
13 FOO_ADDRESS = 0x300000000
14 endif
17 all-check: all check
19 check:
20 ./main > main.out
21 ./main >> main.out
22 ./main >> main.out
23 ./main >> main.out
24 if [ `sort main.out -u | wc -l` == 4 ]; \
25 then \
26 echo "PASS pie-dylib"; \
27 else \
28 echo "FAIL pie-dylib"; \
29 fi; \
31 all: main
33 main : main.c libfoo.dylib
34 ${CC} ${CCFLAGS} -I${TESTROOT}/include -Wl,-pie libfoo.dylib -o main main.c
36 libfoo.dylib : foo.c
37 ${CC} ${CCFLAGS} foo.c -dynamiclib -o libfoo.dylib -seg1addr ${FOO_ADDRESS}
39 clean:
40 ${RM} ${RMFLAGS} *~ main main.out libfoo.dylib