Explorar o código

buildsys: link libgcc_eh if DODEBUG

with -O0 we (e.g. lockf) might end up with references to
_Unwind_Resume, so pull in gcc_eh in this case..

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer %!s(int64=13) %!d(string=hai) anos
pai
achega
8d31a6e50d
Modificáronse 2 ficheiros con 5 adicións e 4 borrados
  1. 4 0
      Rules.mak
  2. 1 4
      libc/misc/file/lockf.c

+ 4 - 0
Rules.mak

@@ -804,6 +804,10 @@ ASFLAGS = $(ASFLAG_--noexecstack)
 
 LIBGCC_CFLAGS ?= $(CFLAGS) $(CPU_CFLAGS-y)
 $(eval $(call cache-output-var,LIBGCC,$(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name))
+$(eval $(call cache-output-var,LIBGCC_EH,$(CC) $(LIBGCC_CFLAGS) -print-file-name=libgcc_eh.a))
+# with -O0 we (e.g. lockf) might end up with references to
+# _Unwind_Resume, so pull in gcc_eh in this case..
+LIBGCC += $(if $(DODEBUG),$(LIBGCC_EH))
 LIBGCC_DIR:=$(dir $(LIBGCC))
 
 # moved from libpthread/linuxthreads

+ 1 - 4
libc/misc/file/lockf.c

@@ -16,15 +16,12 @@
    see <http://www.gnu.org/licenses/>.  */
 
 #include <features.h>
-
 #include <sys/types.h>
-#include <unistd.h>
 #include <fcntl.h>
+#include <unistd.h>
 #include <errno.h>
 #include <string.h>
 
-
-
 /* lockf is a simplified interface to fcntl's locking facilities.  */
 
 int lockf (int fd, int cmd, off_t len)