diff options
| author | Dirk Engling <erdgeist@erdgeist.org> | 2026-11-06 19:09:43 +0100 |
|---|---|---|
| committer | Dirk Engling <erdgeist@erdgeist.org> | 2026-11-06 19:09:43 +0100 |
| commit | 4a01fea4a96374a1359d43a280a236a3ea042a1c (patch) | |
| tree | 5d57ca6b632728f94815bececbc7a22e716bd02b /Makefile | |
| parent | 99a706ded2a79768ce5b850be0d4262d321aa296 (diff) | |
Enable RELRO everywhere than macos
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -46,9 +46,9 @@ OT_CFLAGS+=-Wall -Wextra -Wwrite-strings -pipe -pthread | |||
| 46 | 46 | ||
| 47 | HARDENING=-fstack-protector-strong -fPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 | 47 | HARDENING=-fstack-protector-strong -fPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 |
| 48 | HARDENING_LD=-pie | 48 | HARDENING_LD=-pie |
| 49 | # Full RELRO is free at runtime and makes the GOT read-only, but Apple's linker | 49 | # Full RELRO on every linker that takes it, which is all but Apple's. See DESIGN. |
| 50 | # does not accept -z, so enable it for the GNU-style linkers (Linux, the BSDs): | 50 | RELRO_LD!= case `uname -s` in Darwin) ;; *) printf %s -Wl,-z,relro,-z,now ;; esac |
| 51 | #HARDENING_LD+=-Wl,-z,relro,-z,now | 51 | HARDENING_LD+=$(RELRO_LD) |
| 52 | OT_LDFLAGS+=-pthread | 52 | OT_LDFLAGS+=-pthread |
| 53 | 53 | ||
| 54 | OPTS_debug=-D_DEBUG -g -ggdb | 54 | OPTS_debug=-D_DEBUG -g -ggdb |
| @@ -78,7 +78,7 @@ $(BINARY).debug: $(SOURCES) $(HEADERS) $(BUILDDEPS) | |||
| 78 | $(CC) -o $@ $(OPTS_debug) $(COMPILE) $(HARDENING) $(SOURCES) $(LINK) $(HARDENING_LD) | 78 | $(CC) -o $@ $(OPTS_debug) $(COMPILE) $(HARDENING) $(SOURCES) $(LINK) $(HARDENING_LD) |
| 79 | 79 | ||
| 80 | $(BUILDSTAMP): FORCE | 80 | $(BUILDSTAMP): FORCE |
| 81 | @echo "$(CFLAGS) $(COMPILE) $(LINK)" | cmp -s - $@ 2>/dev/null || echo "$(CFLAGS) $(COMPILE) $(LINK)" > $@ | 81 | @echo "$(CFLAGS) $(COMPILE) $(HARDENING) $(LINK) $(HARDENING_LD)" | cmp -s - $@ 2>/dev/null || echo "$(CFLAGS) $(COMPILE) $(HARDENING) $(LINK) $(HARDENING_LD)" > $@ |
| 82 | 82 | ||
| 83 | clean: | 83 | clean: |
| 84 | rm -rf $(BINARIES) $(BINARIES:=.dSYM) $(BUILDSTAMP) *.o *~ src/*.o src/*~ | 84 | rm -rf $(BINARIES) $(BINARIES:=.dSYM) $(BUILDSTAMP) *.o *~ src/*.o src/*~ |
