From b4edbe9e4ca8b1bfea3948f7dc76de890269e741 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalenko Date: Mon, 14 Aug 2017 11:41:28 +0300 Subject: [PATCH] Add -fpie and -pie option (ASLR) Change-Id: Ic36375fce45805cdc72d73f2a0005f34da7453e6 Signed-off-by: Dmitry Kovalenko --- elf_parsing/Makefile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/elf_parsing/Makefile b/elf_parsing/Makefile index c3926ff..7f34f9f 100644 --- a/elf_parsing/Makefile +++ b/elf_parsing/Makefile @@ -4,7 +4,7 @@ LIB_HEADER=parse_elf.h WARN_FLAGS= -Werror -Wall -Wextra CXXFLAGS = $(WARN_FLAGS) -CXXFLAGS+= -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -D_FILE_OFFSET_BITS=64 +CXXFLAGS+= -O2 -fvisibility=hidden -fvisibility-inlines-hidden -D_FILE_OFFSET_BITS=64 # binary BIN_SRC := parser.cpp @@ -14,8 +14,14 @@ BIN_OBJ := $(BIN_SRC:.cpp=.o) LIB_SRC := parse_elf.cpp elf_impl.cpp LIB_OBJ := $(LIB_SRC:.cpp=.o) -%.o : %.cpp - $(CXX) -c $(CXXFLAGS) $< -o $@ +parser.o: parser.cpp + $(CXX) -c $(CXXFLAGS) -fpie $< -o $@ + +parse_elf.o: parse_elf.cpp + $(CXX) -c $(CXXFLAGS) -fPIC $< -o $@ + +elf_impl.o: elf_impl.cpp + $(CXX) -c $(CXXFLAGS) -fPIC $< -o $@ all: elfparser elflib @@ -26,7 +32,7 @@ $(LIB_TARGET): $(LIB_OBJ) $(CXX) $^ $(CXXFLAGS) -shared -o $@ $(BIN_TARGET): $(BIN_OBJ) $(LIB_TARGET) - $(CXX) $^ -o $@ -L. -lparserelf + $(CXX) $^ -o $@ -L. -lparserelf -pie install_elf: elfparser [ -d "$(DESTDIR)/$(BINDIR)" ] || mkdir -p $(DESTDIR)/$(BINDIR) -- 2.7.4