summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2013-01-16 13:36:40 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2013-01-16 13:36:40 +0100
commit8d31a6e50db423b89082b64a3250eec1b94a7456 (patch)
tree491c357cc4828a95d8dbeeddebf14c1c3038419d
parenta716f8ad2c4ba124073ef517f0b4d2f49d3b4bb4 (diff)
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>
-rw-r--r--Rules.mak4
-rw-r--r--libc/misc/file/lockf.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/Rules.mak b/Rules.mak
index 8943fbf85..9d621b5b7 100644
--- a/Rules.mak
+++ b/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
diff --git a/libc/misc/file/lockf.c b/libc/misc/file/lockf.c
index 4e398cd10..56b3aac77 100644
--- a/libc/misc/file/lockf.c
+++ b/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)