diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2003-07-09 21:01:11 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2003-07-09 21:01:11 +0000 |
commit | 1a399a2e7d8d7fe218e25ec0015b939ccb1ad2f8 (patch) | |
tree | f92e10c426e11b3d56728b63c217fd6cd910e967 /libexec/ld.so/loader.c | |
parent | c3f38c3eb3966de3e327342ab5c8512bb3a44472 (diff) |
changes to ld.so to be compatible with newer binutils, requires
slight changes in the startup code on most archs. ok art@ brad@
Diffstat (limited to 'libexec/ld.so/loader.c')
-rw-r--r-- | libexec/ld.so/loader.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libexec/ld.so/loader.c b/libexec/ld.so/loader.c index 1fdc48cb4e0..2299ad6027c 100644 --- a/libexec/ld.so/loader.c +++ b/libexec/ld.so/loader.c @@ -1,4 +1,4 @@ -/* $OpenBSD: loader.c,v 1.65 2003/07/06 20:03:57 deraadt Exp $ */ +/* $OpenBSD: loader.c,v 1.66 2003/07/09 21:01:10 drahn Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -51,7 +51,7 @@ unsigned long _dl_boot(const char **, char **, const long, long *); void _dl_debug_state(void); void _dl_setup_env(char **); void _dl_dtors(void); -void _dl_boot_bind(const long, long *); +void _dl_boot_bind(const long, long *, Elf_Dyn *); const char *_dl_progname; int _dl_pagesz; @@ -414,7 +414,7 @@ _dl_boot(const char **argv, char **envp, const long loff, long *dl_data) } void -_dl_boot_bind(const long sp, long *dl_data) +_dl_boot_bind(const long sp, long *dl_data, Elf_Dyn *dynamicp) { struct elf_object dynld; /* Resolver data for the loader */ AuxInfo *auxstack; @@ -464,6 +464,8 @@ _dl_boot_bind(const long sp, long *dl_data) #if defined(__alpha__) dynp = (Elf_Dyn *)((long)_DYNAMIC); +#elif defined(__sparc__) || defined(__sparc64__) || defined(__powerpc__) + dynp = dynamicp; #else dynp = (Elf_Dyn *)((long)_DYNAMIC + loff); #endif |