aboutsummaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-07-23 18:14:55 +0000
committerUlrich Drepper <drepper@redhat.com>2001-07-23 18:14:55 +0000
commit4b9afc43727251609f28ba2140f4d8527e8d0d17 (patch)
tree167880b85aea06990b422010c13a2448528f539f /sunrpc
parent30566afbfc1dc2f3ab79ba2497059c6874da75c4 (diff)
downloadglibc-4b9afc43727251609f28ba2140f4d8527e8d0d17.tar
glibc-4b9afc43727251609f28ba2140f4d8527e8d0d17.tar.gz
glibc-4b9afc43727251609f28ba2140f4d8527e8d0d17.tar.bz2
glibc-4b9afc43727251609f28ba2140f4d8527e8d0d17.zip
Update.
2001-07-23 Jakub Jelinek <jakub@redhat.com> * 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 <schwab@suse.de> * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. (math-CPPFLAGS): Set this instead of CPPFLAGS.
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/svc_tcp.c15
-rw-r--r--sunrpc/svc_unix.c15
2 files changed, 24 insertions, 6 deletions
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
};