Skip to content

Commit 8815697

Browse files
committed
[Build] Attempt to honor archlinux compiler flags
* Fix impossible asm constraints at optimization level 1
1 parent f8b5f45 commit 8815697

File tree

2 files changed

+29
-35
lines changed

2 files changed

+29
-35
lines changed

Makefile

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
HW = $(shell uname -m)
66
CC ?= cc
7-
WARNING = -Wall -Wfatal-errors -Wno-unused-variable
7+
WARNING = -w
88
SYMLINK ?= ln -s
99
INSTALL ?= install
1010
DEPMOD ?= depmod
@@ -39,14 +39,16 @@ ccflags-y += -D CORE_COUNT=$(CORE_COUNT) \
3939
ccflags-y += $(WARNING)
4040

4141
ifeq ($(OPTIM_LVL),0)
42-
OPTIM_FLG = -O$(OPTIM_LVL)
42+
CFLAGS += -O$(OPTIM_LVL)
4343
ccflags-y += -fno-inline
4444
else ifneq ($(OPTIM_LVL),)
45-
OPTIM_FLG = -O$(OPTIM_LVL)
45+
CFLAGS += -O$(OPTIM_LVL)
4646
ccflags-y += -D OPTIM_LVL=$(OPTIM_LVL)
47-
ccflags-y += $(OPTIM_FLG)
47+
ccflags-y += -O$(OPTIM_LVL)
4848
endif
4949

50+
CFLAGS += $(WARNING)
51+
5052
DEFINITIONS = -D CORE_COUNT=$(CORE_COUNT) -D TASK_ORDER=$(TASK_ORDER) \
5153
-D MAX_FREQ_HZ=$(MAX_FREQ_HZ) -D UBENCH=$(UBENCH)
5254

@@ -193,58 +195,48 @@ clean:
193195
fi
194196

195197
$(BUILD)/corefreqm.o: $(HW)/corefreqm.c
196-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreqm.c \
197-
$(DEFINITIONS) \
198-
-o $(BUILD)/corefreqm.o
198+
$(CC) -c $(HW)/corefreqm.c -o $(BUILD)/corefreqm.o \
199+
$(CFLAGS) $(DEFINITIONS)
199200

200201
$(BUILD)/corefreqd.o: $(HW)/corefreqd.c
201-
$(CC) $(OPTIM_FLG) $(WARNING) -pthread -c $(HW)/corefreqd.c \
202-
$(DEFINITIONS) \
203-
-o $(BUILD)/corefreqd.o
202+
$(CC) $(HW)/corefreqd.c -o $(BUILD)/corefreqd.o \
203+
$(CFLAGS) -pthread -c $(DEFINITIONS)
204204

205205
$(BUILD)/corefreqd: $(BUILD)/corefreqd.o $(BUILD)/corefreqm.o
206-
$(CC) $(OPTIM_FLG) $(WARNING) $(HW)/corefreqd.c $(HW)/corefreqm.c \
207-
$(DEFINITIONS) \
208-
-o $(BUILD)/corefreqd -lpthread -lm -lrt
206+
$(CC) $(LDFLAGS) -o $(BUILD)/corefreqd -lpthread -lm -lrt \
207+
$(BUILD)/corefreqd.o $(BUILD)/corefreqm.o
209208

210209
.PHONY: corefreqd
211210
corefreqd: $(BUILD)/corefreqd
212211

213212
$(BUILD)/corefreq-ui.o: $(HW)/corefreq-ui.c
214-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreq-ui.c \
215-
$(DEFINITIONS) \
216-
-o $(BUILD)/corefreq-ui.o
213+
$(CC) -c $(HW)/corefreq-ui.c -o $(BUILD)/corefreq-ui.o \
214+
$(CFLAGS) $(DEFINITIONS)
217215

218216
$(BUILD)/corefreq-cli.o: $(HW)/corefreq-cli.c
219-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreq-cli.c \
220-
$(DEFINITIONS) $(LAYOUT) \
221-
-o $(BUILD)/corefreq-cli.o
217+
$(CC) -c $(HW)/corefreq-cli.c -o $(BUILD)/corefreq-cli.o \
218+
$(CFLAGS) $(DEFINITIONS) $(LAYOUT)
222219

223220
$(BUILD)/corefreq-cli-rsc.o: $(HW)/corefreq-cli-rsc.c
224-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreq-cli-rsc.c \
225-
$(DEFINITIONS) $(LAYOUT) \
226-
-o $(BUILD)/corefreq-cli-rsc.o
221+
$(CC) -c $(HW)/corefreq-cli-rsc.c -o $(BUILD)/corefreq-cli-rsc.o \
222+
$(CFLAGS) $(DEFINITIONS) $(LAYOUT)
227223

228224
$(BUILD)/corefreq-cli-json.o: $(HW)/corefreq-cli-json.c
229-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreq-cli-json.c \
230-
$(DEFINITIONS) \
231-
-o $(BUILD)/corefreq-cli-json.o
225+
$(CC) -c $(HW)/corefreq-cli-json.c -o $(BUILD)/corefreq-cli-json.o \
226+
$(CFLAGS) $(DEFINITIONS)
232227

233228
$(BUILD)/corefreq-cli-extra.o: $(HW)/corefreq-cli-extra.c
234-
$(CC) $(OPTIM_FLG) $(WARNING) -c $(HW)/corefreq-cli-extra.c \
235-
$(DEFINITIONS) \
236-
-o $(BUILD)/corefreq-cli-extra.o
229+
$(CC) -c $(HW)/corefreq-cli-extra.c -o $(BUILD)/corefreq-cli-extra.o \
230+
$(CFLAGS) $(DEFINITIONS)
237231

238232
$(BUILD)/corefreq-cli: $(BUILD)/corefreq-cli.o \
239233
$(BUILD)/corefreq-ui.o \
240234
$(BUILD)/corefreq-cli-rsc.o \
241235
$(BUILD)/corefreq-cli-json.o \
242236
$(BUILD)/corefreq-cli-extra.o
243-
$(CC) $(OPTIM_FLG) $(WARNING) \
244-
$(HW)/corefreq-cli.c $(HW)/corefreq-ui.c $(HW)/corefreq-cli-rsc.c \
245-
$(HW)/corefreq-cli-json.c $(HW)/corefreq-cli-extra.c \
246-
$(DEFINITIONS) $(LAYOUT) \
247-
-o $(BUILD)/corefreq-cli -lm -lrt
237+
$(CC) $(LDFLAGS) -o $(BUILD)/corefreq-cli -lm -lrt -lc \
238+
$(BUILD)/corefreq-cli.o $(BUILD)/corefreq-ui.o $(BUILD)/corefreq-cli-rsc.o \
239+
$(BUILD)/corefreq-cli-json.o $(BUILD)/corefreq-cli-extra.o
248240

249241
.PHONY: corefreq-cli
250242
corefreq-cli: $(BUILD)/corefreq-cli
@@ -253,6 +245,8 @@ corefreq-cli: $(BUILD)/corefreq-cli
253245
info:
254246
$(info HW [$(HW)])
255247
$(info CC [$(shell whereis -b $(CC))])
248+
$(info CFLAGS [$(CFLAGS)])
249+
$(info LDFLAGS [$(LDFLAGS)])
256250
$(info WARNING [$(WARNING)])
257251
$(info PWD [$(PWD)])
258252
$(info BUILD [$(BUILD)])

x86_64/corefreqk.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ ASM_COUNTERx4(r10, r11, r12, r13, r14, ASM_RDTSC, mem_tsc, __VA_ARGS__)
435435
ASM_COUNTERx4(r10, r11, r12, r13, r14, ASM_RDTSCP, mem_tsc, __VA_ARGS__)
436436

437437

438-
#if defined(OPTIM_LVL) && OPTIM_LVL == 0
438+
#if defined(OPTIM_LVL) && (OPTIM_LVL == 0 || OPTIM_LVL == 1)
439439

440440
#define RDTSC_COUNTERx5(mem_tsc, ...) \
441441
ASM_COUNTERx5_STACK(r12, r13, r14, r15, ASM_RDTSC, mem_tsc, __VA_ARGS__)
@@ -456,7 +456,7 @@ ASM_COUNTERx7_STACK(r13, r14, r15, ASM_RDTSC, mem_tsc, __VA_ARGS__)
456456
ASM_COUNTERx7_STACK(r13, r14, r15, ASM_RDTSCP, mem_tsc, __VA_ARGS__)
457457

458458
#else
459-
/* #warning "Optimization" */
459+
/* #warning "Optimization" */
460460

461461
#define RDTSC_COUNTERx5(mem_tsc, ...) \
462462
ASM_COUNTERx5(r10, r11, r12, r13, r14, r15, ASM_RDTSC, mem_tsc, __VA_ARGS__)

0 commit comments

Comments
 (0)