From 33c4e94990ea7dbc6b8c277a1b8d3a96a49be515 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Thu, 17 Jul 2014 12:32:35 +0000 Subject: [PATCH] Empty libgcc_s. This library is built just so that something is present in /usr/lib/libgcc_s.so.1. This is needed for dynamically programs built with gcc, which might reference that library at runtime (i.e. all pkgsrc packages). The necessary symbols are in libc however, so when built on a clang-only system, so an empty library is a working stopgap. --- distrib/sets/lists/minix/mi | 9 +++++---- lib/Makefile | 4 ++++ lib/libgcc_s_empty/Makefile | 13 +++++++++++++ lib/libgcc_s_empty/empty.c | 0 lib/libgcc_s_empty/libgcc_s_empty.map | 5 +++++ lib/libgcc_s_empty/shlib_version | 2 ++ 6 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 lib/libgcc_s_empty/Makefile create mode 100644 lib/libgcc_s_empty/empty.c create mode 100644 lib/libgcc_s_empty/libgcc_s_empty.map create mode 100644 lib/libgcc_s_empty/shlib_version diff --git a/distrib/sets/lists/minix/mi b/distrib/sets/lists/minix/mi index b72a16bcb..0672883fe 100644 --- a/distrib/sets/lists/minix/mi +++ b/distrib/sets/lists/minix/mi @@ -2024,10 +2024,11 @@ ./usr/lib/libform.so.6 minix-sys ./usr/lib/libgcc.a minix-sys gcc=45 ./usr/lib/libgcc_eh.a minix-sys gcccmds -./usr/lib/libgcc_s.a minix-sys gcccmds -./usr/lib/libgcc_s.so minix-sys gcccmds -./usr/lib/libgcc_s.so.1.0 minix-sys gcccmds -./usr/lib/libgcc_s.so.1 minix-sys gcccmds +./usr/lib/libgcc_s_pic.a minix-sys !libgcc +./usr/lib/libgcc_s.a minix-sys +./usr/lib/libgcc_s.so minix-sys +./usr/lib/libgcc_s.so.1.0 minix-sys +./usr/lib/libgcc_s.so.1 minix-sys ./usr/lib/libinputdriver.a minix-sys ./usr/lib/libinputdriver_pic.a minix-sys ./usr/lib/libl.a minix-sys diff --git a/lib/Makefile b/lib/Makefile index 9a1703b86..ce85d6649 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -52,6 +52,10 @@ SUBDIR+= libasyn \ libusb \ libvtreefs +.if (${HAVE_LIBGCC} == "no") +SUBDIR+= libgcc_s_empty +.endif + .if (${MKLWIP} == "yes") SUBDIR+= liblwip \ libnetsock diff --git a/lib/libgcc_s_empty/Makefile b/lib/libgcc_s_empty/Makefile new file mode 100644 index 000000000..306ed64fe --- /dev/null +++ b/lib/libgcc_s_empty/Makefile @@ -0,0 +1,13 @@ +.include + +USE_SHLIBDIR= yes + +LIB= gcc_s + +LDFLAGS+= -nodefaultlibs +LDFLAGS+= -Wl,--version-script=${.CURDIR}/libgcc_s_empty.map + +SRCS+= empty.c + +.include +.include diff --git a/lib/libgcc_s_empty/empty.c b/lib/libgcc_s_empty/empty.c new file mode 100644 index 000000000..e69de29bb diff --git a/lib/libgcc_s_empty/libgcc_s_empty.map b/lib/libgcc_s_empty/libgcc_s_empty.map new file mode 100644 index 000000000..eb082af0f --- /dev/null +++ b/lib/libgcc_s_empty/libgcc_s_empty.map @@ -0,0 +1,5 @@ +GCC_3.0 { + global: + *; +}; + diff --git a/lib/libgcc_s_empty/shlib_version b/lib/libgcc_s_empty/shlib_version new file mode 100644 index 000000000..1edea46de --- /dev/null +++ b/lib/libgcc_s_empty/shlib_version @@ -0,0 +1,2 @@ +major=1 +minor=0