Prechádzať zdrojové kódy

make ld relro and bind now optional

Waldemar Brodkorb 10 rokov pred
rodič
commit
b9af8ec237
3 zmenil súbory, kde vykonal 19 pridanie a 1 odobranie
  1. 2 0
      mk/build.mk
  2. 7 1
      mk/vars.mk
  3. 10 0
      target/config/Config.in.toolchain

+ 2 - 0
mk/build.mk

@@ -48,6 +48,8 @@ DEFCONFIG=		ADK_DEBUG=n \
 			ADK_TARGET_USE_GNU_HASHSTYLE=n \
 			ADK_TARGET_USE_PIE=n \
 			ADK_TARGET_USE_STATIC_LIBS=n \
+			ADK_TARGET_USE_LD_RELRO=n \
+			ADK_TARGET_USE_LD_BIND_NOW=n \
 			ADK_TARGET_USE_LD_GC=n \
 			ADK_LINUX_ARM_WITH_THUMB=n \
 			BUSYBOX_IFPLUGD=n \

+ 7 - 1
mk/vars.mk

@@ -89,7 +89,13 @@ TARGET_CXXFLAGS+=	-static-libgcc
 TARGET_LDFLAGS+=	-static-libgcc
 
 # security optimization, see http://www.akkadia.org/drepper/dsohowto.pdf
-TARGET_LDFLAGS+=	-Wl,-z,relro,-z,now
+ifneq ($(ADK_TARGET_USE_LD_RELRO),)
+TARGET_LDFLAGS+=	-Wl,-z,relro
+endif
+ifneq ($(ADK_TARGET_USE_LD_BIND_NOW),)
+TARGET_LDFLAGS+=	-Wl,-z,now
+endif
+
 # needed for musl ppc 
 ifeq ($(ADK_LINUX_PPC),y)
 ifeq ($(ADK_TARGET_LIB_MUSL),y)

+ 10 - 0
target/config/Config.in.toolchain

@@ -68,6 +68,16 @@ config ADK_TARGET_USE_LTO
 	select ADK_TOOLCHAIN_WITH_LTO
 	default n
 
+config ADK_TARGET_USE_LD_RELRO
+	prompt "Use LD read-only (-z relro) relocations for all packages"
+	boolean
+	default n
+
+config ADK_TARGET_USE_LD_BIND_NOW
+	prompt "Use LD bind now (-z now) for all packages"
+	boolean
+	default n
+
 config ADK_TARGET_USE_LD_GC
 	prompt "Use LD garbage collection for all packages"
 	boolean