diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-03-16 18:50:09 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-03-16 18:50:09 +0000 |
commit | 70f81c1edf07718fab62abf3c88e124d6c658e59 (patch) | |
tree | b1878d78926ca1142973ede2cd2b3235328cbc45 | |
parent | 1a59e495dbe68a6f5dc862f929ed38da056afbd4 (diff) | |
download | gcompat-70f81c1edf07718fab62abf3c88e124d6c658e59.tar.gz gcompat-70f81c1edf07718fab62abf3c88e124d6c658e59.tar.bz2 gcompat-70f81c1edf07718fab62abf3c88e124d6c658e59.tar.xz gcompat-70f81c1edf07718fab62abf3c88e124d6c658e59.zip |
build: allow building with libucontext support
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | libgcompat/ucontext.c | 4 |
2 files changed, 13 insertions, 2 deletions
@@ -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.h> /* errno, ENOSYS */ +#ifndef HAVE_LIBUCONTEXT + int getcontext(void *ucp) { errno = ENOSYS; return -1; } + +#endif |