Преглед на файлове

Fix build on OpenBSD, -fstack-protector needed for LDFLAGS as well

Bryan Drewery преди 11 години
родител
ревизия
e08bc06ee2
променени са 3 файла, в които са добавени 12 реда и са изтрити 2 реда
  1. 5 0
      build/autotools/configure.ac
  2. 5 0
      configure
  3. 2 2
      src/Makefile.in

+ 5 - 0
build/autotools/configure.ac

@@ -30,6 +30,11 @@ CXX_FLAG_CHECK([CXXFLAGS], [-fcolor-diagnostics], [colordiagnostics])
 CXX_FLAG_CHECK([CXXFLAGS], [-Wno-invalid-source-encoding], [invalid_source_encoding])
 CXX_FLAG_CHECK([CXXFLAGS], [-fstack-protector], [stackprotector])
 CXX_FLAG_CHECK([CXXFLAGS], [-fstack-protector-strong], [stackprotectorstrong])
+if [[ "${ax_cv_prog_cc_stackprotectorstrong}" = "yes" ]]; then
+  LDFLAGS="${LDFLAGS} -fstack-protector-strong"
+elif [[ "${ax_cv_prog_cc_stackprotector}" = "yes" ]]; then
+  LDFLAGS="${LDFLAGS} -fstack-protector"
+fi
 CXX_FLAG_CHECK([DEBCXXFLAGS], [-fstack-protector-all], [stackprotectorall])
 
 EGG_CHECK_DEPMODE

+ 5 - 0
configure

@@ -3396,6 +3396,11 @@ EOF
     exit 1
   fi
 
+if [ "${ax_cv_prog_cc_stackprotectorstrong}" = "yes" ]; then
+  LDFLAGS="${LDFLAGS} -fstack-protector-strong"
+elif [ "${ax_cv_prog_cc_stackprotector}" = "yes" ]; then
+  LDFLAGS="${LDFLAGS} -fstack-protector"
+fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands -fstack-protector-all" >&5
 $as_echo_n "checking whether the compiler understands -fstack-protector-all... " >&6; }

+ 2 - 2
src/Makefile.in

@@ -10,6 +10,7 @@ VPATH = @srcdir@
 CXXFLAGS = $(CXXFLAGS)
 CFLAGS = $(CFLGS)
 CPPFLAGS = @CPPFLAGS@ -I. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/pack @DEFS@ $(INCLUDES) '-DCOMMIT="$(COMMIT)"' '-DBRANCH="$(BRANCH)"' -DBUILDTS=$(BUILDTS) '-DVERSION="$(VERSION)"'
+LDFLAGS = @LDFLAGS@
 
 include $(top_srcdir)/build/build.mk
 
@@ -106,8 +107,7 @@ stringfix: stringfix.cc common.h config.h eggdrop.h
 	@echo ""
 	@echo "Linking wraith... $(EGGBUILD)"
 	@echo ""
-	$(LD) -o ../$(EGGEXEC) $(OBJS) $(MODOBJS) compat/*.o crypto/*.o ../lib/bdlib/src/libbdlib.a $(LIBS) @LIBELF_LIB@
-#	$(LD) -o ../$(EGGEXEC) $(OBJS) $(MODOBJS) $(LIBS) compat/*.o crypto/*.o
+	$(LD) $(LDFLAGS) -o ../$(EGGEXEC) $(OBJS) $(MODOBJS) compat/*.o crypto/*.o ../lib/bdlib/src/libbdlib.a $(LIBS) @LIBELF_LIB@
 	@$(STRIP) ../$(EGGEXEC)
 	@$(OBJCOPY) ../$(EGGEXEC)
 	@echo "Successful compile: $(EGGEXEC)"