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
This commit is contained in:
Dmitry Chagin 2016-04-23 20:29:55 +00:00
parent 4cb92c4cf4
commit 9f8621b1d5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=298519
5 changed files with 17 additions and 18 deletions

View file

@ -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;

View file

@ -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);

View file

@ -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)
{

View file

@ -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

View file

@ -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