libexecinfo: enables stackprotector through hardeningEnable
The makefile patch pulled from alpinelinux used to enable stackprotector unconditionally. This change use the nixpkgs flag hardeningEnable. This is required to support platform where stackprotector has problems.
This commit is contained in:
parent
87e35291a5
commit
67c8584209
2 changed files with 46 additions and 5 deletions
|
@ -0,0 +1,44 @@
|
|||
--- Makefile.orig
|
||||
+++ Makefile
|
||||
@@ -23,24 +23,25 @@
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
# $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $
|
||||
+#
|
||||
+# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04
|
||||
|
||||
-LIB= execinfo
|
||||
+CC=cc
|
||||
+AR=ar
|
||||
+EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -c
|
||||
+EXECINFO_LDFLAGS=$(LDFLAGS)
|
||||
|
||||
-SRCS= stacktraverse.c stacktraverse.h execinfo.c execinfo.h
|
||||
+all: static dynamic
|
||||
|
||||
-INCS= execinfo.h
|
||||
+static:
|
||||
+ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c
|
||||
+ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c
|
||||
+ $(AR) rcs libexecinfo.a stacktraverse.o execinfo.o
|
||||
|
||||
-SHLIB_MAJOR= 1
|
||||
-SHLIB_MINOR= 0
|
||||
+dynamic:
|
||||
+ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So
|
||||
+ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So
|
||||
+ $(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 stacktraverse.So execinfo.So
|
||||
|
||||
-NOPROFILE= yes
|
||||
-
|
||||
-DPADD= ${LIBM}
|
||||
-LDADD= -lm
|
||||
-
|
||||
-#WARNS?= 4
|
||||
-
|
||||
-#stacktraverse.c: gen.py
|
||||
-# ./gen.py > stacktraverse.c
|
||||
-
|
||||
-.include <bsd.lib.mk>
|
||||
+clean:
|
||||
+ rm -rf *.o *.So *.a *.so
|
|
@ -23,14 +23,11 @@ stdenv.mkDerivation rec {
|
|||
url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/20-define-gnu-source.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1";
|
||||
sha256 = "1mp8mc639b0h2s69m5z6s2h3q3n1zl298j9j0plzj7f979j76302";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "30-linux-makefile.patch";
|
||||
url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/30-linux-makefile.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1";
|
||||
sha256 = "1jwjz22z5cjy5h2bfghn62yl9ar8jiqhdvbwrcfavv17ihbhwcaf";
|
||||
})
|
||||
./30-linux-makefile.patch
|
||||
];
|
||||
|
||||
makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ];
|
||||
hardeningEnable = [ "stackprotector" ];
|
||||
|
||||
buildFlags =
|
||||
lib.optional enableStatic "static"
|
||||
|
|
Loading…
Reference in a new issue