From 4b9afc43727251609f28ba2140f4d8527e8d0d17 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 23 Jul 2001 18:14:55 +0000 Subject: Update. 2001-07-23 Jakub Jelinek * sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New. (svctcp_rendezvous_op): Use it. * sunrpc/svc_unix.c (svcunix_rendezvous_abort): New. (svcunix_rendezvous_op): Use it. 2001-07-23 Andreas Schwab * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. (math-CPPFLAGS): Set this instead of CPPFLAGS. --- sunrpc/svc_tcp.c | 15 ++++++++++++--- sunrpc/svc_unix.c | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) (limited to 'sunrpc') diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c index 94bfb33dcf..06c05a640d 100644 --- a/sunrpc/svc_tcp.c +++ b/sunrpc/svc_tcp.c @@ -81,14 +81,23 @@ static const struct xp_ops svctcp_op = */ static bool_t rendezvous_request (SVCXPRT *, struct rpc_msg *); static enum xprt_stat rendezvous_stat (SVCXPRT *); +static void svctcp_rendezvous_abort (void); + +/* This function makes sure abort() relocation goes through PLT + and thus can be lazy bound. */ +static void +svctcp_rendezvous_abort (void) +{ + abort (); +}; static const struct xp_ops svctcp_rendezvous_op = { rendezvous_request, rendezvous_stat, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, - (bool_t (*) (SVCXPRT *, struct rpc_msg *)) abort, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svctcp_rendezvous_abort, + (bool_t (*) (SVCXPRT *, struct rpc_msg *)) svctcp_rendezvous_abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svctcp_rendezvous_abort, svctcp_destroy }; diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 4aa05a1475..20bc0aaf38 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -74,14 +74,23 @@ static const struct xp_ops svcunix_op = */ static bool_t rendezvous_request (SVCXPRT *, struct rpc_msg *); static enum xprt_stat rendezvous_stat (SVCXPRT *); +static void svcunix_rendezvous_abort (void); + +/* This function makes sure abort() relocation goes through PLT + and thus can be lazy bound. */ +static void +svcunix_rendezvous_abort (void) +{ + abort (); +}; static const struct xp_ops svcunix_rendezvous_op = { rendezvous_request, rendezvous_stat, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, - (bool_t (*) (SVCXPRT *, struct rpc_msg *)) abort, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svcunix_rendezvous_abort, + (bool_t (*) (SVCXPRT *, struct rpc_msg *)) svcunix_rendezvous_abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svcunix_rendezvous_abort, svcunix_destroy }; -- cgit v1.2.3