History log of /openbsd-current/libexec/ld.so/hppa/boot_md.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.6 31-Jan-2022 guenther

Inline RELOC_* into boot_md.c and simplify the code based on what
we can verify at build time. Track dt_pltgot as an Elf_Addr instead
of an Elf_Addr* to eliminat casts on both setting and using. Set
RELATIVE_RELOC so the ld.so Makefile can verify that it has just
the relocation types we expect.

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"

Tested with full build.


# 1.5 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_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.4 28-Nov-2019 guenther

Unrevert: this change was unrelated


# 1.3 28-Nov-2019 guenther

Revert yesterday's _dl_md_reloc() and _dl_md_reloc_got() changes:
something's broken on at least i386.


# 1.2 27-Nov-2019 guenther

unifdef: hppa does HAVE_JMPREL and does not have DT_PROCNUM


# 1.1 20-Oct-2019 guenther

For more archs, ld.so itself only needs/uses the arch's "just add load offset"
'relative' relocation. Take advantage of that to simplify ld.so's self-reloc
code:
* give the exceptional archs (hppa and mips64) copies of the current boot.c
as boot_md.c
* teach the Makefile to use boot_md.c when present
* reduce boot.c down to the minimum necessary to handle just relative reloc
* teach the Makefile to fail if the built ld.so has other types of relocs

ok visa@ kettenis@


# 1.5 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_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.4 28-Nov-2019 guenther

Unrevert: this change was unrelated


# 1.3 28-Nov-2019 guenther

Revert yesterday's _dl_md_reloc() and _dl_md_reloc_got() changes:
something's broken on at least i386.


# 1.2 27-Nov-2019 guenther

unifdef: hppa does HAVE_JMPREL and does not have DT_PROCNUM


# 1.1 20-Oct-2019 guenther

For more archs, ld.so itself only needs/uses the arch's "just add load offset"
'relative' relocation. Take advantage of that to simplify ld.so's self-reloc
code:
* give the exceptional archs (hppa and mips64) copies of the current boot.c
as boot_md.c
* teach the Makefile to use boot_md.c when present
* reduce boot.c down to the minimum necessary to handle just relative reloc
* teach the Makefile to fail if the built ld.so has other types of relocs

ok visa@ kettenis@


# 1.4 28-Nov-2019 guenther

Unrevert: this change was unrelated


# 1.3 28-Nov-2019 guenther

Revert yesterday's _dl_md_reloc() and _dl_md_reloc_got() changes:
something's broken on at least i386.


# 1.2 27-Nov-2019 guenther

unifdef: hppa does HAVE_JMPREL and does not have DT_PROCNUM


# 1.1 20-Oct-2019 guenther

For more archs, ld.so itself only needs/uses the arch's "just add load offset"
'relative' relocation. Take advantage of that to simplify ld.so's self-reloc
code:
* give the exceptional archs (hppa and mips64) copies of the current boot.c
as boot_md.c
* teach the Makefile to use boot_md.c when present
* reduce boot.c down to the minimum necessary to handle just relative reloc
* teach the Makefile to fail if the built ld.so has other types of relocs

ok visa@ kettenis@


# 1.2 27-Nov-2019 guenther

unifdef: hppa does HAVE_JMPREL and does not have DT_PROCNUM


# 1.1 20-Oct-2019 guenther

For more archs, ld.so itself only needs/uses the arch's "just add load offset"
'relative' relocation. Take advantage of that to simplify ld.so's self-reloc
code:
* give the exceptional archs (hppa and mips64) copies of the current boot.c
as boot_md.c
* teach the Makefile to use boot_md.c when present
* reduce boot.c down to the minimum necessary to handle just relative reloc
* teach the Makefile to fail if the built ld.so has other types of relocs

ok visa@ kettenis@


# 1.1 20-Oct-2019 guenther

For more archs, ld.so itself only needs/uses the arch's "just add load offset"
'relative' relocation. Take advantage of that to simplify ld.so's self-reloc
code:
* give the exceptional archs (hppa and mips64) copies of the current boot.c
as boot_md.c
* teach the Makefile to use boot_md.c when present
* reduce boot.c down to the minimum necessary to handle just relative reloc
* teach the Makefile to fail if the built ld.so has other types of relocs

ok visa@ kettenis@