Make ld.so pass its cleanup handler in %rdx as required by the AMD64 System V
authorkettenis <kettenis@openbsd.org>
Mon, 23 Dec 2013 22:13:03 +0000 (22:13 +0000)
committerkettenis <kettenis@openbsd.org>
Mon, 23 Dec 2013 22:13:03 +0000 (22:13 +0000)
commitffd71c82a1f506e30b549ec6eaadc26e2fa17cc0
tree714b3b430e35d1fb145ba476a84bb7824f6402f1
parent2bb29cc736de8dc48a735173daf1046d2e1429c2
Make ld.so pass its cleanup handler in %rdx as required by the AMD64 System V
ABI, and stop calling atexit(4) directly from ld.so on amd64.  Note that this
means that binaries built before the middle of november may no longer call
destructors in shared libraries implemented in C++.  Update your packages!

ok guenther@
libexec/ld.so/amd64/ldasm.S
libexec/ld.so/loader.c