From 70f81c1edf07718fab62abf3c88e124d6c658e59 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Fri, 16 Mar 2018 18:50:09 +0000 Subject: build: allow building with libucontext support --- Makefile | 11 +++++++++-- libgcompat/ucontext.c | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 0b4e76c..06af84f 100644 --- a/Makefile +++ b/Makefile @@ -40,11 +40,18 @@ LOADER_OBJ = ${LOADER_SRC:.c=.o} LOADER_NAME = ld-linux.so.2 LOADER_PATH = /lib/${LOADER_NAME} +ifdef WITH_LIBUCONTEXT + +LIBUCONTEXT_LIBS = -Wl,--no-as-needed -lucontext +LIBUCONTEXT_CFLAGS = -DWITH_LIBUCONTEXT + +endif + all: ${LIBGCOMPAT_NAME} ${LOADER_NAME} ${LIBGCOMPAT_NAME}: ${LIBGCOMPAT_OBJ} $(CC) -o ${LIBGCOMPAT_NAME} -Wl,-soname,${LIBGCOMPAT_NAME} \ - -shared ${LIBGCOMPAT_OBJ} + -shared ${LIBGCOMPAT_OBJ} ${LIBUCONTEXT_LIBS} ${LIBGCOMPAT_OBJ}: ${LIBGCOMPAT_INCLUDE} @@ -54,7 +61,7 @@ ${LOADER_NAME}: ${LOADER_OBJ} .c.o: $(CC) -c -D_BSD_SOURCE -DLIBGCOMPAT=\"${LIBGCOMPAT_PATH}\" \ -DLINKER=\"${LINKER_PATH}\" -DLOADER=\"${LOADER_NAME}\" \ - -Ilibgcompat \ + -Ilibgcompat ${LIBUCONTEXT_CFLAGS} \ -fPIC -std=c99 -Wall -Wextra -Wno-frame-address \ -Wno-unused-parameter ${CFLAGS} ${CPPFLAGS} -o $@ $< diff --git a/libgcompat/ucontext.c b/libgcompat/ucontext.c index 4827263..1e7618c 100644 --- a/libgcompat/ucontext.c +++ b/libgcompat/ucontext.c @@ -1,7 +1,11 @@ #include /* errno, ENOSYS */ +#ifndef HAVE_LIBUCONTEXT + int getcontext(void *ucp) { errno = ENOSYS; return -1; } + +#endif -- cgit v1.2.3-70-g09d2