/freebsd/sys/powerpc/powerpc/ |
H A D | elf32_machdep.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
H A D | elf64_machdep.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
/freebsd/sys/arm/arm/ |
H A D | elf_machdep.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
/freebsd/sys/i386/i386/ |
H A D | elf_machdep.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
/freebsd/sys/amd64/amd64/ |
H A D | elf_machdep.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
/freebsd/sys/sys/ |
H A D | linker.h | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
/freebsd/sys/kern/ |
H A D | link_elf_obj.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
H A D | link_elf.c | diff cff8c6f2d1f8ee2cfd12b5a6f67d196b7c27194f Sun Sep 20 03:27:59 CEST 2015 Konstantin Belousov <kib@FreeBSD.org> Add support for weak symbols to the kernel linkers. It means that linkers no longer raise an error when undefined weak symbols are found, but relocate as if the symbol value was 0. Note that we do not repeat the mistake of userspace dynamic linker of making the symbol lookup prefer non-weak symbol definition over the weak one, if both are available. In fact, kernel linker uses the first definition found, and ignores duplicates.
Signature of the elf_lookup() and elf_obj_lookup() functions changed to split result/error code and the symbol address returned. Otherwise, it is impossible to return zero address as the symbol value, to MD relocation code. This explains the mechanical changes in elf_machdep.c sources.
The powerpc64 R_PPC_JMP_SLOT handler did not checked error from the lookup() call, the patch leaves the code as is (untested).
Reported by: glebius Sponsored by: The FreeBSD Foundation MFC after: 1 week
|