History log of /openbsd-current/libexec/ld.so/sparc64/archdep.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.29 18-Nov-2023 deraadt

crt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
reproducing the relevant defines and code in a different place) to perform
minor relocations. If things go very wrong, it would call _dl_exit() --
a locally defined crt0 function which is syscall exit(2). We don't need
to call exit(2) for this obscure case which doesn't happen and provides no
debugging information. An 'abort' is going to provide better information.
So let's change the function name to _dso_abort() and make it a single
illegal instruction.
ok guenther


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.28 17-Jan-2022 guenther

Nothing depends on archdep.h pulling in other #includes anymore,
so delete the #includes and hide the RELOC_* functions that are
only used by lib/csu behind "#ifdef RCRT0"

these are the ones I tested; kettenis@ was on board with the concept


# 1.27 14-Nov-2021 guenther

Delete all the no-op RELOC_GOT() macros and their uses.
Annotate RELOC_DYN() on non-hppa as only used in lib/csu.
Delete some inconsistent comments, adjust whitespace, and reorder
mips64's archdep.h so that the ld.so/*/archdep.h files look
(almost) the same.

ok visa@ kettenis@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.26 27-Oct-2017 mpi

Use <elf.h> instead of <elf_abi.h>

ok jasper@, jca@, deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.25 24-Jan-2017 guenther

On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of
simply exiting, via helper functions _dl_die(), _dl_diedie(), and
_dl_oom().

prompted by a complaint from jsing@
ok jsing@ deraadt@


# 1.24 21-Jan-2017 guenther

_dl_exit() is __dead, so it should return void.
Move _dl_mmap() and _dl_mquery() inlines from archdep.h to syscall.h and
remove pointless casts and unnecessary parens.

ok kettenis@


# 1.23 20-Jan-2017 guenther

Delete ancient macros and unnecessary #includes

ok deraadt@


# 1.22 09-Jan-2017 kettenis

Remove dependency on __got_{start,end} symbols and look at PT_GNU_RELRO
instead. Result in a few more pages that aren't writable on some platforms
(such as hppa). Based on an initial diff from guenther@.

Thanks to deraadt@ for testing.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.21 18-May-2016 deraadt

fix types for mmap wrappers. A few whitespace cleanups snuck in.
ok guenther


Revision tags: OPENBSD_5_9_BASE
# 1.20 06-Dec-2015 guenther

Simplify the relocation code for the ld.so bootstrap and static pie: track
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.

testing and feedback from miod@
ok kettenis@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.19 03-Nov-2014 guenther

Eliminate RTLD_PROTECT_PLT: ld.so is built with -Bsymbolic so the
PLT is empty/unused. On at least macppc and sparc64, ld.so's attempt
to mprotect its PLT could instead hit its own allocated data and
cause a segfault shortly there after.

While here, take a shot at preventing the same issue with the GOT
by checking for __got_start != __got_end.

reproduction *with ktracing* by afresh1@ provided the key data
ok miod@ deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 02-Jan-2010 kettenis

Fix handling of hppa RELOC_IPLT relocations during 'bootstrap relocation'.

ok miod@, deraadt@, jsing@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.17 24-May-2004 drahn

Change define used to deal with PLT protection, use postive logic not negative.
ok mickey@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.16 09-Jun-2003 deraadt

pefo 3/4 licence cleanups


Revision tags: OPENBSD_3_3_BASE
# 1.15 15-Feb-2003 drahn

After relocation is completed, remove write protection from GOT/PLT in ld.so.


# 1.14 25-Oct-2002 pefo

Some small fixes in MI code for mips backport. A new reloc md function,
RELOC_GOT, was added to handle mips got bootstrap reloc.

Also remove workaround used on previous versions of binutils for mips.


Revision tags: OPENBSD_3_2_BASE
# 1.13 12-Aug-2002 drahn

Add support for REL type relocations, all currently supported arch
use only RELA type relocations, but that could change. ok art@


# 1.12 24-Jul-2002 deraadt

ok i found it


# 1.11 24-Jul-2002 deraadt

back out broken stuff until it is fixed


# 1.10 24-Jul-2002 deraadt

make _dl_mmap() return void * like others


# 1.9 12-Jul-2002 drahn

Change ld.so search order/method to match the a.out ld.so.

run destructors on dlclose()

Move more symbols into _dl_ private space, so that the proper (libc)
version of the function will be used.

Add readdir() functionality to perform the proper library searching.

Support DL_PRELOAD

Do not relocate symbols if ld.so is being traced (and will exit).

Misc lint cleanup.

ok art@


# 1.8 24-May-2002 deraadt

various KNF


# 1.7 24-Apr-2002 drahn

Perform full relocation for Rela bootstrap relocations, compatible
with newer binutils this way. ok fgs, jason.


Revision tags: OPENBSD_3_1_BASE
# 1.6 21-Feb-2002 drahn

cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.
tested on alpha sparc64 powerpc.


# 1.5 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.4 25-Sep-2001 art

Do mmap the right way.


# 1.3 24-Sep-2001 art

Proper RELOC_RELA for bootstrap.


# 1.2 23-Sep-2001 drahn

add munmap syscall
change _rtld references to _dl to match C code.
change relocation types in archdep.h to be sparc64 relocs.

rtld_machine.c copied from alpha, with some modes to compile for sparc64

This is in-tree development.


# 1.1 21-Sep-2001 jason

partially done... committing so other folks don't have to repeat some of the work


# 1.28 17-Jan-2022 guenther

Nothing depends on archdep.h pulling in other #includes anymore,
so delete the #includes and hide the RELOC_* functions that are
only used by lib/csu behind "#ifdef RCRT0"

these are the ones I tested; kettenis@ was on board with the concept


# 1.27 14-Nov-2021 guenther

Delete all the no-op RELOC_GOT() macros and their uses.
Annotate RELOC_DYN() on non-hppa as only used in lib/csu.
Delete some inconsistent comments, adjust whitespace, and reorder
mips64's archdep.h so that the ld.so/*/archdep.h files look
(almost) the same.

ok visa@ kettenis@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.26 27-Oct-2017 mpi

Use <elf.h> instead of <elf_abi.h>

ok jasper@, jca@, deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.25 24-Jan-2017 guenther

On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of
simply exiting, via helper functions _dl_die(), _dl_diedie(), and
_dl_oom().

prompted by a complaint from jsing@
ok jsing@ deraadt@


# 1.24 21-Jan-2017 guenther

_dl_exit() is __dead, so it should return void.
Move _dl_mmap() and _dl_mquery() inlines from archdep.h to syscall.h and
remove pointless casts and unnecessary parens.

ok kettenis@


# 1.23 20-Jan-2017 guenther

Delete ancient macros and unnecessary #includes

ok deraadt@


# 1.22 09-Jan-2017 kettenis

Remove dependency on __got_{start,end} symbols and look at PT_GNU_RELRO
instead. Result in a few more pages that aren't writable on some platforms
(such as hppa). Based on an initial diff from guenther@.

Thanks to deraadt@ for testing.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.21 18-May-2016 deraadt

fix types for mmap wrappers. A few whitespace cleanups snuck in.
ok guenther


Revision tags: OPENBSD_5_9_BASE
# 1.20 06-Dec-2015 guenther

Simplify the relocation code for the ld.so bootstrap and static pie: track
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.

testing and feedback from miod@
ok kettenis@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.19 03-Nov-2014 guenther

Eliminate RTLD_PROTECT_PLT: ld.so is built with -Bsymbolic so the
PLT is empty/unused. On at least macppc and sparc64, ld.so's attempt
to mprotect its PLT could instead hit its own allocated data and
cause a segfault shortly there after.

While here, take a shot at preventing the same issue with the GOT
by checking for __got_start != __got_end.

reproduction *with ktracing* by afresh1@ provided the key data
ok miod@ deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 02-Jan-2010 kettenis

Fix handling of hppa RELOC_IPLT relocations during 'bootstrap relocation'.

ok miod@, deraadt@, jsing@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.17 24-May-2004 drahn

Change define used to deal with PLT protection, use postive logic not negative.
ok mickey@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.16 09-Jun-2003 deraadt

pefo 3/4 licence cleanups


Revision tags: OPENBSD_3_3_BASE
# 1.15 15-Feb-2003 drahn

After relocation is completed, remove write protection from GOT/PLT in ld.so.


# 1.14 25-Oct-2002 pefo

Some small fixes in MI code for mips backport. A new reloc md function,
RELOC_GOT, was added to handle mips got bootstrap reloc.

Also remove workaround used on previous versions of binutils for mips.


Revision tags: OPENBSD_3_2_BASE
# 1.13 12-Aug-2002 drahn

Add support for REL type relocations, all currently supported arch
use only RELA type relocations, but that could change. ok art@


# 1.12 24-Jul-2002 deraadt

ok i found it


# 1.11 24-Jul-2002 deraadt

back out broken stuff until it is fixed


# 1.10 24-Jul-2002 deraadt

make _dl_mmap() return void * like others


# 1.9 12-Jul-2002 drahn

Change ld.so search order/method to match the a.out ld.so.

run destructors on dlclose()

Move more symbols into _dl_ private space, so that the proper (libc)
version of the function will be used.

Add readdir() functionality to perform the proper library searching.

Support DL_PRELOAD

Do not relocate symbols if ld.so is being traced (and will exit).

Misc lint cleanup.

ok art@


# 1.8 24-May-2002 deraadt

various KNF


# 1.7 24-Apr-2002 drahn

Perform full relocation for Rela bootstrap relocations, compatible
with newer binutils this way. ok fgs, jason.


Revision tags: OPENBSD_3_1_BASE
# 1.6 21-Feb-2002 drahn

cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.
tested on alpha sparc64 powerpc.


# 1.5 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.4 25-Sep-2001 art

Do mmap the right way.


# 1.3 24-Sep-2001 art

Proper RELOC_RELA for bootstrap.


# 1.2 23-Sep-2001 drahn

add munmap syscall
change _rtld references to _dl to match C code.
change relocation types in archdep.h to be sparc64 relocs.

rtld_machine.c copied from alpha, with some modes to compile for sparc64

This is in-tree development.


# 1.1 21-Sep-2001 jason

partially done... committing so other folks don't have to repeat some of the work


# 1.27 14-Nov-2021 guenther

Delete all the no-op RELOC_GOT() macros and their uses.
Annotate RELOC_DYN() on non-hppa as only used in lib/csu.
Delete some inconsistent comments, adjust whitespace, and reorder
mips64's archdep.h so that the ld.so/*/archdep.h files look
(almost) the same.

ok visa@ kettenis@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.26 27-Oct-2017 mpi

Use <elf.h> instead of <elf_abi.h>

ok jasper@, jca@, deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.25 24-Jan-2017 guenther

On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of
simply exiting, via helper functions _dl_die(), _dl_diedie(), and
_dl_oom().

prompted by a complaint from jsing@
ok jsing@ deraadt@


# 1.24 21-Jan-2017 guenther

_dl_exit() is __dead, so it should return void.
Move _dl_mmap() and _dl_mquery() inlines from archdep.h to syscall.h and
remove pointless casts and unnecessary parens.

ok kettenis@


# 1.23 20-Jan-2017 guenther

Delete ancient macros and unnecessary #includes

ok deraadt@


# 1.22 09-Jan-2017 kettenis

Remove dependency on __got_{start,end} symbols and look at PT_GNU_RELRO
instead. Result in a few more pages that aren't writable on some platforms
(such as hppa). Based on an initial diff from guenther@.

Thanks to deraadt@ for testing.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.21 18-May-2016 deraadt

fix types for mmap wrappers. A few whitespace cleanups snuck in.
ok guenther


Revision tags: OPENBSD_5_9_BASE
# 1.20 06-Dec-2015 guenther

Simplify the relocation code for the ld.so bootstrap and static pie: track
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.

testing and feedback from miod@
ok kettenis@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.19 03-Nov-2014 guenther

Eliminate RTLD_PROTECT_PLT: ld.so is built with -Bsymbolic so the
PLT is empty/unused. On at least macppc and sparc64, ld.so's attempt
to mprotect its PLT could instead hit its own allocated data and
cause a segfault shortly there after.

While here, take a shot at preventing the same issue with the GOT
by checking for __got_start != __got_end.

reproduction *with ktracing* by afresh1@ provided the key data
ok miod@ deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 02-Jan-2010 kettenis

Fix handling of hppa RELOC_IPLT relocations during 'bootstrap relocation'.

ok miod@, deraadt@, jsing@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.17 24-May-2004 drahn

Change define used to deal with PLT protection, use postive logic not negative.
ok mickey@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.16 09-Jun-2003 deraadt

pefo 3/4 licence cleanups


Revision tags: OPENBSD_3_3_BASE
# 1.15 15-Feb-2003 drahn

After relocation is completed, remove write protection from GOT/PLT in ld.so.


# 1.14 25-Oct-2002 pefo

Some small fixes in MI code for mips backport. A new reloc md function,
RELOC_GOT, was added to handle mips got bootstrap reloc.

Also remove workaround used on previous versions of binutils for mips.


Revision tags: OPENBSD_3_2_BASE
# 1.13 12-Aug-2002 drahn

Add support for REL type relocations, all currently supported arch
use only RELA type relocations, but that could change. ok art@


# 1.12 24-Jul-2002 deraadt

ok i found it


# 1.11 24-Jul-2002 deraadt

back out broken stuff until it is fixed


# 1.10 24-Jul-2002 deraadt

make _dl_mmap() return void * like others


# 1.9 12-Jul-2002 drahn

Change ld.so search order/method to match the a.out ld.so.

run destructors on dlclose()

Move more symbols into _dl_ private space, so that the proper (libc)
version of the function will be used.

Add readdir() functionality to perform the proper library searching.

Support DL_PRELOAD

Do not relocate symbols if ld.so is being traced (and will exit).

Misc lint cleanup.

ok art@


# 1.8 24-May-2002 deraadt

various KNF


# 1.7 24-Apr-2002 drahn

Perform full relocation for Rela bootstrap relocations, compatible
with newer binutils this way. ok fgs, jason.


Revision tags: OPENBSD_3_1_BASE
# 1.6 21-Feb-2002 drahn

cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.
tested on alpha sparc64 powerpc.


# 1.5 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.4 25-Sep-2001 art

Do mmap the right way.


# 1.3 24-Sep-2001 art

Proper RELOC_RELA for bootstrap.


# 1.2 23-Sep-2001 drahn

add munmap syscall
change _rtld references to _dl to match C code.
change relocation types in archdep.h to be sparc64 relocs.

rtld_machine.c copied from alpha, with some modes to compile for sparc64

This is in-tree development.


# 1.1 21-Sep-2001 jason

partially done... committing so other folks don't have to repeat some of the work


# 1.26 27-Oct-2017 mpi

Use <elf.h> instead of <elf_abi.h>

ok jasper@, jca@, deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.25 24-Jan-2017 guenther

On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of
simply exiting, via helper functions _dl_die(), _dl_diedie(), and
_dl_oom().

prompted by a complaint from jsing@
ok jsing@ deraadt@


# 1.24 21-Jan-2017 guenther

_dl_exit() is __dead, so it should return void.
Move _dl_mmap() and _dl_mquery() inlines from archdep.h to syscall.h and
remove pointless casts and unnecessary parens.

ok kettenis@


# 1.23 20-Jan-2017 guenther

Delete ancient macros and unnecessary #includes

ok deraadt@


# 1.22 09-Jan-2017 kettenis

Remove dependency on __got_{start,end} symbols and look at PT_GNU_RELRO
instead. Result in a few more pages that aren't writable on some platforms
(such as hppa). Based on an initial diff from guenther@.

Thanks to deraadt@ for testing.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.21 18-May-2016 deraadt

fix types for mmap wrappers. A few whitespace cleanups snuck in.
ok guenther


Revision tags: OPENBSD_5_9_BASE
# 1.20 06-Dec-2015 guenther

Simplify the relocation code for the ld.so bootstrap and static pie: track
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.

testing and feedback from miod@
ok kettenis@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.19 03-Nov-2014 guenther

Eliminate RTLD_PROTECT_PLT: ld.so is built with -Bsymbolic so the
PLT is empty/unused. On at least macppc and sparc64, ld.so's attempt
to mprotect its PLT could instead hit its own allocated data and
cause a segfault shortly there after.

While here, take a shot at preventing the same issue with the GOT
by checking for __got_start != __got_end.

reproduction *with ktracing* by afresh1@ provided the key data
ok miod@ deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 02-Jan-2010 kettenis

Fix handling of hppa RELOC_IPLT relocations during 'bootstrap relocation'.

ok miod@, deraadt@, jsing@


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.17 24-May-2004 drahn

Change define used to deal with PLT protection, use postive logic not negative.
ok mickey@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
# 1.16 09-Jun-2003 deraadt

pefo 3/4 licence cleanups


Revision tags: OPENBSD_3_3_BASE
# 1.15 15-Feb-2003 drahn

After relocation is completed, remove write protection from GOT/PLT in ld.so.


# 1.14 25-Oct-2002 pefo

Some small fixes in MI code for mips backport. A new reloc md function,
RELOC_GOT, was added to handle mips got bootstrap reloc.

Also remove workaround used on previous versions of binutils for mips.


Revision tags: OPENBSD_3_2_BASE
# 1.13 12-Aug-2002 drahn

Add support for REL type relocations, all currently supported arch
use only RELA type relocations, but that could change. ok art@


# 1.12 24-Jul-2002 deraadt

ok i found it


# 1.11 24-Jul-2002 deraadt

back out broken stuff until it is fixed


# 1.10 24-Jul-2002 deraadt

make _dl_mmap() return void * like others


# 1.9 12-Jul-2002 drahn

Change ld.so search order/method to match the a.out ld.so.

run destructors on dlclose()

Move more symbols into _dl_ private space, so that the proper (libc)
version of the function will be used.

Add readdir() functionality to perform the proper library searching.

Support DL_PRELOAD

Do not relocate symbols if ld.so is being traced (and will exit).

Misc lint cleanup.

ok art@


# 1.8 24-May-2002 deraadt

various KNF


# 1.7 24-Apr-2002 drahn

Perform full relocation for Rela bootstrap relocations, compatible
with newer binutils this way. ok fgs, jason.


Revision tags: OPENBSD_3_1_BASE
# 1.6 21-Feb-2002 drahn

cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me.
tested on alpha sparc64 powerpc.


# 1.5 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.4 25-Sep-2001 art

Do mmap the right way.


# 1.3 24-Sep-2001 art

Proper RELOC_RELA for bootstrap.


# 1.2 23-Sep-2001 drahn

add munmap syscall
change _rtld references to _dl to match C code.
change relocation types in archdep.h to be sparc64 relocs.

rtld_machine.c copied from alpha, with some modes to compile for sparc64

This is in-tree development.


# 1.1 21-Sep-2001 jason

partially done... committing so other folks don't have to repeat some of the work