blob: d83ee1f8789ae93a5089e753dd2e9234a1c33047 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
TOPDIR=../../
include $(TOPDIR)Rules.mak
# Check if 'ls -sh' works or not
LSFLAGS = $(shell if ls -sh >/dev/null 2>&1; \
then echo "-sh"; else echo "-s" ; fi)
XCFLAGS = -Wall -Os -fomit-frame-pointer -fno-builtin -nostdinc \
-I$(TOPDIR)include -I/usr/include/linux
XLDFLAGS = -nostdlib -s -gc-sections
EXTRA_LIBS=$(TOPDIR)libc.a -lgcc
YCFLAGS = -Wall -Os -fomit-frame-pointer
YLDFLAGS = -s --static
# Allow alternative stripping tools to be used...
ifndef $(STRIPTOOL)
STRIPTOOL = strip
endif
STRIP = $(STRIPTOOL) --remove-section=.note --remove-section=.comment $@
TARGETS=testmalloc testmalloc_glibc
TARGETS=mallocbug mallocbug_glibc
TARGETS+=teststrtol teststrtol_glibc teststrtol_diff
all: $(TARGETS)
testmalloc_source:
-@ echo "-------"
-@ echo "testmalloc.c source: "
-@ echo " "
-@ cat testmalloc.c
-@ echo " "
testmalloc: testmalloc.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs uC-Libc: "
-@ echo " "
$(CC) $(XCFLAGS) -c $< -o $@.o
$(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
$(STRIP)
-ldd $@
ls $(LSFLAGS) $@
-./$@
-@ echo " "
testmalloc_glibc: testmalloc.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs GNU libc: "
-@ echo " "
$(CC) $(YCFLAGS) -c $< -o $@.o
$(CC) $(YLDFLAGS) --static $@.o -o $@
$(STRIP)
-ldd $@
ls $(LSFLAGS) $@
-./$@
-@ echo " "
mallocbug: mallocbug.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs uC-Libc: "
-@ echo " "
$(CC) -g $(XCFLAGS) -c $< -o $@.o
$(CC) -g $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
$(STRIP)
-ldd $@
ls $(LSFLAGS) $@
-./$@
-@ echo " "
mallocbug_glibc: mallocbug.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs GNU libc: "
-@ echo " "
$(CC) $(YCFLAGS) -c $< -o $@.o
$(CC) $(YLDFLAGS) --static $@.o -o $@
$(STRIP)
-ldd $@
ls $(LSFLAGS) $@
-./$@
-@ echo " "
teststrtol_source:
-@ echo "-------"
-@ echo "teststrtol.c source: "
-@ echo " "
-@ cat teststrtol.c
-@ echo " "
teststrtol: teststrtol.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs uC-Libc: "
-@ echo " "
$(CC) $(XCFLAGS) -c $< -o $@.o
$(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS)
$(STRIP)
ldd $@
ls -sh $@
-./$@ > $@.out
-@ echo " "
teststrtol_glibc: teststrtol.c Makefile $(TOPDIR)libc.a
-@ echo "-------"
-@ echo " "
-@ echo "Compiling vs GNU libc: "
-@ echo " "
$(CC) $(YCFLAGS) -c $< -o $@.o
$(CC) $(YLDFLAGS) --static $@.o -o $@
$(STRIP)
ldd $@
ls -sh $@
-./$@ > $@.out
-@ echo " "
teststrtol_diff: teststrtol_glibc teststrtol
-@ echo "-------"
-@ echo " "
-@ echo "Diffing output: "
-@ echo " "
-diff -u teststrtol_glibc.out teststrtol.out
-@ echo " "
clean:
rm -f *.[oa] *~ core $(TARGETS)
|