summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2016-04-23 20:29:55 +0000
committerdchagin <dchagin@FreeBSD.org>2016-04-23 20:29:55 +0000
commit4f918be2a10ecffb99a70b01d7793a2376292354 (patch)
tree9c696e24009edfd940071f2c82b8f3574e3f89e3
parent70b5d1597004b54a0bf784a23f81745ba1819934 (diff)
downloadFreeBSD-src-4f918be2a10ecffb99a70b01d7793a2376292354.zip
FreeBSD-src-4f918be2a10ecffb99a70b01d7793a2376292354.tar.gz
Fix streams and svr4 module dependency. Both modules are complaining about
undefined symbol svr4_delete_socket which was moved from streams to the svr4 module in r160558 that created a two-way dependency between them. PR: 208464 Submitted by: Kristoffer Eriksson Reported by: Kristoffer Eriksson MFC after: 2 week
-rw-r--r--sys/compat/svr4/svr4_socket.c14
-rw-r--r--sys/compat/svr4/svr4_sysvec.c2
-rw-r--r--sys/dev/streams/streams.c14
-rw-r--r--sys/modules/streams/Makefile4
-rw-r--r--sys/modules/svr4/Makefile1
5 files changed, 17 insertions, 18 deletions
diff --git a/sys/compat/svr4/svr4_socket.c b/sys/compat/svr4/svr4_socket.c
index f59241c..d7690e8 100644
--- a/sys/compat/svr4/svr4_socket.c
+++ b/sys/compat/svr4/svr4_socket.c
@@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$");
#include <compat/svr4/svr4_signal.h>
#include <compat/svr4/svr4_sockmod.h>
#include <compat/svr4/svr4_proto.h>
+#include <compat/svr4/svr4_stropts.h>
struct svr4_sockcache_entry {
struct proc *p; /* Process for the socket */
@@ -170,6 +171,19 @@ svr4_delete_socket(p, fp)
mtx_unlock(&svr4_sockcache_lock);
}
+struct svr4_strm *
+svr4_stream_get(fp)
+ struct file *fp;
+{
+ struct socket *so;
+
+ if (fp == NULL || fp->f_type != DTYPE_SOCKET)
+ return NULL;
+
+ so = fp->f_data;
+ return so->so_emuldata;
+}
+
void
svr4_purge_sockcache(arg, p)
void *arg;
diff --git a/sys/compat/svr4/svr4_sysvec.c b/sys/compat/svr4/svr4_sysvec.c
index c9ceca7..eb99b9f 100644
--- a/sys/compat/svr4/svr4_sysvec.c
+++ b/sys/compat/svr4/svr4_sysvec.c
@@ -310,4 +310,4 @@ static moduledata_t svr4_elf_mod = {
0
};
DECLARE_MODULE_TIED(svr4elf, svr4_elf_mod, SI_SUB_EXEC, SI_ORDER_ANY);
-MODULE_DEPEND(svr4elf, streams, 1, 1, 1);
+MODULE_VERSION(svr4elf, 1);
diff --git a/sys/dev/streams/streams.c b/sys/dev/streams/streams.c
index 032d10c..2b4225f 100644
--- a/sys/dev/streams/streams.c
+++ b/sys/dev/streams/streams.c
@@ -169,6 +169,7 @@ static moduledata_t streams_mod = {
};
DECLARE_MODULE(streams, streams_mod, SI_SUB_DRIVERS, SI_ORDER_ANY);
MODULE_VERSION(streams, 1);
+MODULE_DEPEND(streams, svr4elf, 1, 1, 1);
/*
* We only need open() and close() routines. open() calls socreate()
@@ -321,19 +322,6 @@ svr4_ptm_alloc(td)
}
-struct svr4_strm *
-svr4_stream_get(fp)
- struct file *fp;
-{
- struct socket *so;
-
- if (fp == NULL || fp->f_type != DTYPE_SOCKET)
- return NULL;
-
- so = fp->f_data;
- return so->so_emuldata;
-}
-
static int
svr4_soo_close(struct file *fp, struct thread *td)
{
diff --git a/sys/modules/streams/Makefile b/sys/modules/streams/Makefile
index cbffdee..86e7996 100644
--- a/sys/modules/streams/Makefile
+++ b/sys/modules/streams/Makefile
@@ -5,10 +5,6 @@
KMOD= streams
SRCS= streams.c
-EXPORT_SYMS= svr4_str_initialized \
- svr4_stream_get \
- svr4_delete_socket
-
.if defined(DEBUG)
CFLAGS+= -DDEBUG_SVR4
.endif
diff --git a/sys/modules/svr4/Makefile b/sys/modules/svr4/Makefile
index 85725a2..c152b38 100644
--- a/sys/modules/svr4/Makefile
+++ b/sys/modules/svr4/Makefile
@@ -8,6 +8,7 @@ SRCS= svr4_sysent.c svr4_sysvec.c opt_compat.h opt_svr4.h \
svr4_termios.c svr4_stream.c svr4_socket.c svr4_sockio.c \
svr4_machdep.c svr4_resource.c svr4_ipc.c
OBJS= svr4_locore.o
+EXPORT_SYMS= svr4_delete_socket
SRCS+= opt_ktrace.h opt_sysvipc.h
OpenPOWER on IntegriCloud