summaryrefslogtreecommitdiff
path: root/libexec/ld.so/hppa
diff options
context:
space:
mode:
authorKurt Miller <kurt@cvs.openbsd.org>2013-04-05 12:58:05 +0000
committerKurt Miller <kurt@cvs.openbsd.org>2013-04-05 12:58:05 +0000
commit1892e71c11ce0b9f666c92574ed7161d16dc08f8 (patch)
tree755a6b60e7d08a717e59ceed6909b1d2aeefdeeb /libexec/ld.so/hppa
parent84c7c115879a734ff013eca4de8f5ac17c120b9c (diff)
- Add ORIGIN, OSNAME, OSREL and PLATFORM substitution support for rpaths.
Improvements and okay matthew@, millert@, guenther@
Diffstat (limited to 'libexec/ld.so/hppa')
-rw-r--r--libexec/ld.so/hppa/ldasm.S20
-rw-r--r--libexec/ld.so/hppa/syscall.h5
2 files changed, 23 insertions, 2 deletions
diff --git a/libexec/ld.so/hppa/ldasm.S b/libexec/ld.so/hppa/ldasm.S
index be3604d3fec..644b0ddfa60 100644
--- a/libexec/ld.so/hppa/ldasm.S
+++ b/libexec/ld.so/hppa/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.8 2012/10/27 08:30:35 kettenis Exp $ */
+/* $OpenBSD: ldasm.S,v 1.9 2013/04/05 12:58:03 kurt Exp $ */
/*
* Copyright (c) 2004 Michael Shalayeff
@@ -263,6 +263,24 @@ ENTRY(_dl_gettimeofday,0)
nop
EXIT(_dl_gettimeofday)
+ENTRY(_dl_readlink,0)
+ SYSCALL(readlink)
+ bv r0(rp)
+ nop
+EXIT(_dl_readlink)
+
+ENTRY(_dl_lstat,0)
+ SYSCALL(lstat)
+ bv r0(rp)
+ nop
+EXIT(_dl_lstat)
+
+ENTRY(_dl_getcwd,0)
+ SYSCALL(__getcwd)
+ bv r0(rp)
+ nop
+EXIT(_dl_getcwd)
+
ENTRY(_dl_sigprocmask,0)
stw arg2, HPPA_FRAME_ARG(2)(sp)
diff --git a/libexec/ld.so/hppa/syscall.h b/libexec/ld.so/hppa/syscall.h
index b96dc87f530..9cf7dc62c14 100644
--- a/libexec/ld.so/hppa/syscall.h
+++ b/libexec/ld.so/hppa/syscall.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscall.h,v 1.6 2012/10/24 03:26:56 guenther Exp $ */
+/* $OpenBSD: syscall.h,v 1.7 2013/04/05 12:58:03 kurt Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -53,6 +53,9 @@ int _dl_getdirentries(int, char*, int, off_t *);
int _dl_sigprocmask(int, const sigset_t *, sigset_t *);
int _dl_sysctl(int *, u_int, void *, size_t *, void *, size_t);
int _dl_gettimeofday(struct timeval *tp, struct timezone *tzp);
+int _dl_readlink(const char *path, char *buf, size_t bufsiz);
+int _dl_lstat(const char *path, struct stat *sb);
+int _dl_getcwd(char *buf, size_t size);
static inline off_t
_dl_lseek(int fildes, off_t offset, int whence)