OpenGrok
Cross Reference: t_hash.c
xref
: /
src
/
tests
/
libexec
/
ld.elf_so
/
t_hash.c
Home
|
History
|
Annotate
|
Download
|
only in
ld.elf_so
History log of
/src/tests/libexec/ld.elf_so/t_hash.c
Revision
Date
Author
Comments
1.2
16-Apr-2025
riastradh
tests/libexec/ld.elf_so/t_hash: Add web.archive.org link.
The original link still works for now but let's make sure it doesn't
bitrot later.
No functional change intended: comment only.
1.1
30-Jul-2023
riastradh
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
ld.elf_so: Add some known-answer tests for hash functions.
Make sure the testing mechanism detects the traditional overflow bug.
1.1.8.1
02-Aug-2025
perseant
Sync with HEAD
1.1.6.2
11-Aug-2023
sborrill
Pull up the following revisions(s) (requested by riastradh in ticket #1712):
distrib/sets/lists/debug/mi: revision 1.409 via patch
distrib/sets/lists/tests/mi: revision 1.1280 via patch
libexec/ld.elf_so/Makefile: revision 1.145-1.147 via patch
libexec/ld.elf_so/hash.c: revision 1.1 via patch
libexec/ld.elf_so/hash.h: revision 1.1 via patch
libexec/ld.elf_so/symbol.c: revision 1.74-1.76 via patch
tests/libexec/ld.elf_so/Makefile: revision 1.21 via patch
tests/libexec/ld.elf_so/t_hash.c: revision 1.1 via patch
ld.elf_so: Fix sysv elf hash on edge cases like `ZZZZZW9p' on LP64
platforms where long is 64-bit.
1.1.6.1
30-Jul-2023
sborrill
file t_hash.c was added on branch netbsd-9 on 2023-08-11 12:13:10 +0000
1.1.4.2
09-Aug-2023
martin
Pull up following revision(s) (requested by riastradh in ticket #1886):
distrib/sets/lists/debug/mi 1.409 (patch)
distrib/sets/lists/tests/mi 1.1280 (patch)
libexec/ld.elf_so/Makefile 1.145-1.147 (patch)
libexec/ld.elf_so/hash.c 1.1
libexec/ld.elf_so/hash.h 1.1
libexec/ld.elf_so/reloc.c 1.118 (patch)
libexec/ld.elf_so/rtld.c 1.215 (patch)
libexec/ld.elf_so/rtld.h 1.145,1.147 (patch)
libexec/ld.elf_so/symbol.c 1.74-1.76 (patch)
tests/libexec/ld.elf_so/Makefile 1.21 (patch)
tests/libexec/ld.elf_so/t_hash.c 1.1
The SysV ABI specifies that the symbol hash function should return only 32
bits of hash. Unfortunately due to an implementation bu and the fact that
the return type is unsigned long which is 64 bits in LP64, this can fail
in some cases: "\xff\x0f\x0f\x0f\x0f\x0f\x12". See:
https://maskray.me/blog/2023-04-12-elf-hash-function
From Ed Maste @ FreeBSD:
https://cgit.freebsd.org/src/commit/?id=29e3a06510823edbb91667d21f530d3ec778116d
Need to write Unit Tests for this.
Oops wrong mask.
ld.elf_so: Split SRCS onto multiple lines.
Makes updates easier.
No functional change intended.
ld.elf_so: Sort SRCS.
No functional change intended.
ld.elf_so: Split hash functions into a separate file.
This way we can test them in isolation.
No functional change intended.
ld.elf_so: Add some known-answer tests for hash functions.
Make sure the testing mechanism detects the traditional overflow bug.
1.1.4.1
30-Jul-2023
martin
file t_hash.c was added on branch netbsd-8 on 2023-08-09 16:16:40 +0000
1.1.2.2
01-Aug-2023
martin
Pull up following revision(s) (requested by riastradh in ticket #300):
libexec/ld.elf_so/rtld.h: revision 1.145
libexec/ld.elf_so/symbol.c: revision 1.74
libexec/ld.elf_so/rtld.h: revision 1.147
libexec/ld.elf_so/symbol.c: revision 1.75
libexec/ld.elf_so/symbol.c: revision 1.76
tests/libexec/ld.elf_so/t_hash.c: revision 1.1
libexec/ld.elf_so/Makefile: revision 1.145
libexec/ld.elf_so/Makefile: revision 1.146
libexec/ld.elf_so/Makefile: revision 1.147
libexec/ld.elf_so/reloc.c: revision 1.118
distrib/sets/lists/tests/mi: revision 1.1280
libexec/ld.elf_so/rtld.c: revision 1.215
tests/libexec/ld.elf_so/Makefile: revision 1.21
libexec/ld.elf_so/hash.c: revision 1.1
libexec/ld.elf_so/hash.h: revision 1.1
distrib/sets/lists/debug/mi: revision 1.409
The SysV ABI specifies that the symbol hash function should return only 32
bits of hash. Unfortunately due to an implementation bug and the fact that
the return type is unsigned long which is 64 bits in LP64, this can fail
in some cases: "\xff\x0f\x0f\x0f\x0f\x0f\x12". See:
"https://maskray.me/blog/2023-04-12-elf-hash-function
From Ed Maste @ FreeBSD:
https://cgit.freebsd.org/src/commit/?id=29e3a06510823edbb91667d21f530d3ec778116d
Need to write Unit Tests for this.
Oops wrong mask.
ld.elf_so: Split SRCS onto multiple lines.
Makes updates easier.
No functional change intended.
ld.elf_so: Sort SRCS.
No functional change intended.
ld.elf_so: Split hash functions into a separate file.
This way we can test them in isolation.
No functional change intended.
ld.elf_so: Add some known-answer tests for hash functions.
Make sure the testing mechanism detects the traditional overflow bug.
1.1.2.1
30-Jul-2023
martin
file t_hash.c was added on branch netbsd-10 on 2023-08-01 17:03:53 +0000
Indexes created Sat Oct 25 16:10:12 GMT 2025