#
9684658e |
| 19-Oct-2024 |
Jessica Clarke <jrtc27@FreeBSD.org> |
libc/csu: Unify INIT_RELOCS across architectures
Some architectures don't need any arguments, whilst others need auxargs, which they get by passing in env thanks to INIT_RELOCS referencing the local
libc/csu: Unify INIT_RELOCS across architectures
Some architectures don't need any arguments, whilst others need auxargs, which they get by passing in env thanks to INIT_RELOCS referencing the local variable in __libc_start1(_gcrt) by name. This is unnecessarily confusing, fragile (one has to look at INIT_IRELOCS's definition to see that it uses env) and duplicates code between architectures.
Instead, implement it more like rtld-elf. Each architecture provides an ifunc_init that takes the auxargs directly, and those that don't need it can just ignore it.
Reviewed by: kib MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D47188
show more ...
|
Revision tags: release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
241a55b4 |
| 22-Jul-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
libc/csu: Do not compile the finalizer() for PIC build
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D41148
|
Revision tags: release/13.2.0 |
|
#
c383f485 |
| 12-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
lib/csu: do not compile the body of handle_static_init() for PIC build at all
The referenced symbols that provide init array boundaries are weak, hidden, and undefined. The code that iterates over
lib/csu: do not compile the body of handle_static_init() for PIC build at all
The referenced symbols that provide init array boundaries are weak, hidden, and undefined. The code that iterates over that arrays is not used for the case when libc is compiled as dso.
This should fix linking with ld.bfd.
Sponsored by: The FreeBSD Foundation MFC after: 3 weeks
show more ...
|
#
c5c9d980 |
| 11-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
libc/csu: rename ignore_init.c to libc_start1.c
The current name was a historical curiosity that started when init array support was added, and then the file appeared a convenient place for the addi
libc/csu: rename ignore_init.c to libc_start1.c
The current name was a historical curiosity that started when init array support was added, and then the file appeared a convenient place for the addition of the MI common code to csu. It is now referenced by name in single place and the rename is easy, so do it.
Sponsored by: The FreeBSD Foundation MFC after: 3 weeks
show more ...
|