head 1.7; access; symbols netbsd-10-0-RELEASE:1.7 netbsd-10-0-RC6:1.7 netbsd-10-0-RC5:1.7 netbsd-10-0-RC4:1.7 netbsd-10-0-RC3:1.7 netbsd-10-0-RC2:1.7 netbsd-10-0-RC1:1.7 netbsd-10:1.7.0.54 netbsd-10-base:1.7 netbsd-9-3-RELEASE:1.7 cjep_sun2x-base1:1.7 cjep_sun2x:1.7.0.52 cjep_sun2x-base:1.7 cjep_staticlib_x-base1:1.7 netbsd-9-2-RELEASE:1.7 cjep_staticlib_x:1.7.0.50 cjep_staticlib_x-base:1.7 netbsd-9-1-RELEASE:1.7 phil-wifi-20200421:1.7 phil-wifi-20200411:1.7 is-mlppp:1.7.0.48 is-mlppp-base:1.7 phil-wifi-20200406:1.7 netbsd-8-2-RELEASE:1.7 netbsd-9-0-RELEASE:1.7 netbsd-9-0-RC2:1.7 netbsd-9-0-RC1:1.7 phil-wifi-20191119:1.7 netbsd-9:1.7.0.46 netbsd-9-base:1.7 phil-wifi-20190609:1.7 netbsd-8-1-RELEASE:1.7 netbsd-8-1-RC1:1.7 pgoyette-compat-merge-20190127:1.7 pgoyette-compat-20190127:1.7 pgoyette-compat-20190118:1.7 pgoyette-compat-1226:1.7 pgoyette-compat-1126:1.7 pgoyette-compat-1020:1.7 pgoyette-compat-0930:1.7 pgoyette-compat-0906:1.7 netbsd-7-2-RELEASE:1.7 pgoyette-compat-0728:1.7 netbsd-8-0-RELEASE:1.7 phil-wifi:1.7.0.44 phil-wifi-base:1.7 pgoyette-compat-0625:1.7 netbsd-8-0-RC2:1.7 pgoyette-compat-0521:1.7 pgoyette-compat-0502:1.7 pgoyette-compat-0422:1.7 netbsd-8-0-RC1:1.7 pgoyette-compat-0415:1.7 pgoyette-compat-0407:1.7 pgoyette-compat-0330:1.7 pgoyette-compat-0322:1.7 pgoyette-compat-0315:1.7 netbsd-7-1-2-RELEASE:1.7 pgoyette-compat:1.7.0.42 pgoyette-compat-base:1.7 netbsd-7-1-1-RELEASE:1.7 matt-nb8-mediatek:1.7.0.40 matt-nb8-mediatek-base:1.7 perseant-stdc-iso10646:1.7.0.38 perseant-stdc-iso10646-base:1.7 netbsd-8:1.7.0.36 netbsd-8-base:1.7 prg-localcount2-base3:1.7 prg-localcount2-base2:1.7 prg-localcount2-base1:1.7 prg-localcount2:1.7.0.34 prg-localcount2-base:1.7 pgoyette-localcount-20170426:1.7 bouyer-socketcan-base1:1.7 pgoyette-localcount-20170320:1.7 netbsd-7-1:1.7.0.32 netbsd-7-1-RELEASE:1.7 netbsd-7-1-RC2:1.7 netbsd-7-nhusb-base-20170116:1.7 bouyer-socketcan:1.7.0.30 bouyer-socketcan-base:1.7 pgoyette-localcount-20170107:1.7 netbsd-7-1-RC1:1.7 pgoyette-localcount-20161104:1.7 netbsd-7-0-2-RELEASE:1.7 localcount-20160914:1.7 netbsd-7-nhusb:1.7.0.28 netbsd-7-nhusb-base:1.7 pgoyette-localcount-20160806:1.7 pgoyette-localcount-20160726:1.7 pgoyette-localcount:1.7.0.26 pgoyette-localcount-base:1.7 netbsd-7-0-1-RELEASE:1.7 netbsd-7-0:1.7.0.24 netbsd-7-0-RELEASE:1.7 netbsd-7-0-RC3:1.7 netbsd-7-0-RC2:1.7 netbsd-7-0-RC1:1.7 netbsd-5-2-3-RELEASE:1.1.2.3 netbsd-5-1-5-RELEASE:1.1.2.2 netbsd-6-0-6-RELEASE:1.7 netbsd-6-1-5-RELEASE:1.7 netbsd-7:1.7.0.22 netbsd-7-base:1.7 yamt-pagecache-base9:1.7 yamt-pagecache-tag8:1.7 netbsd-6-1-4-RELEASE:1.7 netbsd-6-0-5-RELEASE:1.7 tls-earlyentropy:1.7.0.20 tls-earlyentropy-base:1.7 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.7 riastradh-drm2-base3:1.7 netbsd-6-1-3-RELEASE:1.7 netbsd-6-0-4-RELEASE:1.7 netbsd-5-2-2-RELEASE:1.1.2.3 netbsd-5-1-4-RELEASE:1.1.2.2 netbsd-6-1-2-RELEASE:1.7 netbsd-6-0-3-RELEASE:1.7 netbsd-5-2-1-RELEASE:1.1.2.3 netbsd-5-1-3-RELEASE:1.1.2.2 netbsd-6-1-1-RELEASE:1.7 riastradh-drm2-base2:1.7 riastradh-drm2-base1:1.7 riastradh-drm2:1.7.0.14 riastradh-drm2-base:1.7 netbsd-6-1:1.7.0.18 netbsd-6-0-2-RELEASE:1.7 netbsd-6-1-RELEASE:1.7 netbsd-6-1-RC4:1.7 netbsd-6-1-RC3:1.7 agc-symver:1.7.0.16 agc-symver-base:1.7 netbsd-6-1-RC2:1.7 netbsd-6-1-RC1:1.7 yamt-pagecache-base8:1.7 netbsd-5-2:1.1.2.3.0.2 netbsd-6-0-1-RELEASE:1.7 yamt-pagecache-base7:1.7 netbsd-5-2-RELEASE:1.1.2.3 netbsd-5-2-RC1:1.1.2.3 matt-nb6-plus-nbase:1.7 yamt-pagecache-base6:1.7 netbsd-6-0:1.7.0.12 netbsd-6-0-RELEASE:1.7 netbsd-6-0-RC2:1.7 tls-maxphys:1.7.0.10 tls-maxphys-base:1.7 matt-nb6-plus:1.7.0.8 matt-nb6-plus-base:1.7 netbsd-6-0-RC1:1.7 yamt-pagecache-base5:1.7 yamt-pagecache-base4:1.7 netbsd-6:1.7.0.6 netbsd-6-base:1.7 netbsd-5-1-2-RELEASE:1.1.2.2 netbsd-5-1-1-RELEASE:1.1.2.2 yamt-pagecache-base3:1.7 yamt-pagecache-base2:1.7 yamt-pagecache:1.7.0.4 yamt-pagecache-base:1.7 cherry-xenmp:1.7.0.2 cherry-xenmp-base:1.7 bouyer-quota2-nbase:1.4 bouyer-quota2:1.4.0.2 bouyer-quota2-base:1.4 matt-mips64-premerge-20101231:1.4 matt-nb5-mips64-premerge-20101231:1.1.2.2 matt-nb5-pq3:1.1.2.2.0.8 matt-nb5-pq3-base:1.1.2.2 netbsd-5-1:1.1.2.2.0.6 netbsd-5-1-RELEASE:1.1.2.2 netbsd-5-1-RC4:1.1.2.2 matt-nb5-mips64-k15:1.1.2.2 netbsd-5-1-RC3:1.1.2.2 netbsd-5-1-RC2:1.1.2.2 netbsd-5-1-RC1:1.1.2.2 netbsd-5-0-2-RELEASE:1.1.2.2 matt-nb5-mips64-premerge-20091211:1.1.2.2 matt-premerge-20091211:1.2 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.1.2.2 matt-nb4-mips64-k7-u2a-k9b:1.1.2.2 matt-nb5-mips64-u1-k1-k5:1.1.2.2 matt-nb5-mips64:1.1.2.2.0.4 netbsd-5-0-1-RELEASE:1.1.2.2 jym-xensuspend-nbase:1.1 netbsd-5-0:1.1.2.2.0.2 netbsd-5-0-RELEASE:1.1.2.2 netbsd-5-0-RC4:1.1.2.2 netbsd-5-0-RC3:1.1.2.2 netbsd-5-0-RC2:1.1.2.2 jym-xensuspend:1.1.0.4 jym-xensuspend-base:1.1 netbsd-5-0-RC1:1.1.2.2 netbsd-5:1.1.0.2; locks; strict; comment @# @; 1.7 date 2011.04.15.08.47.02; author plunky; state Exp; branches; next 1.6; 1.6 date 2011.03.25.18.07.07; author joerg; state Exp; branches; next 1.5; 1.5 date 2011.03.09.23.10.07; author joerg; state Exp; branches; next 1.4; 1.4 date 2010.10.16.10.27.07; author skrll; state Exp; branches; next 1.3; 1.3 date 2010.02.27.11.17.54; author roy; state Exp; branches; next 1.2; 1.2 date 2009.08.22.06.52.15; author mrg; state Exp; branches; next 1.1; 1.1 date 2009.01.07.00.39.24; author mrg; state Exp; branches 1.1.2.1; next ; 1.1.2.1 date 2009.01.07.00.39.24; author bouyer; state dead; branches; next 1.1.2.2; 1.1.2.2 date 2009.01.16.22.21.30; author bouyer; state Exp; branches; next 1.1.2.3; 1.1.2.3 date 2012.03.17.18.28.25; author bouyer; state Exp; branches; next ; desc @@ 1.7 log @move the build of ldd binary to a subdir in order to allow explict ordering. This makes "make all" work the same as "make dependall" @ text @# $NetBSD: list.ldd,v 1.6 2011/03/25 18:07:07 joerg Exp $ PROG ldd SPECIAL ldd srcdir usr.bin/ldd/build LIBS ${LDD_ELF32DIR}/libldd_elf32.a LIBS ${LDD_ELF64DIR}/libldd_elf64.a SPECIAL ldd keepsymbols _rtld_pagesz _rtld_die _rtld_error _rtld_trust SPECIAL ldd keepsymbols _rtld_default_paths _rtld_paths SPECIAL ldd keepsymbols _rtld_xforms _rtld_objmain SPECIAL ldd keepsymbols _rtld_objtail _rtld_objlist SPECIAL ldd keepsymbols _rtld_objcount _rtld_objloads SPECIAL ldd keepsymbols _rtld_shared_enter _rtld_shared_exit SPECIAL ldd keepsymbols _rtld_exclusive_enter _rtld_exclusive_exit SPECIAL ldd keepsymbols print_needed main_local main_progname @ 1.6 log @Add basic locking to ld.elf_so. @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.5 2011/03/09 23:10:07 joerg Exp $ d4 1 @ 1.5 log @Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports _rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to setup the thread private area of all new threads. ld.elf_so is responsible for setting up the private area for the initial thread. Similar functions are called from _libc_init for static binaries, using dl_iterate_phdr to access the ELF Program Header. Add test cases to exercise the different TLS storage models. Test cases are compiled and installed on all platforms, but are skipped on platforms not marked for TLS support. This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger. It is inspired by the TLS support in FreeBSD by Doug Rabson and the clean ups of the DragonFly port of the original FreeBSD modifications. @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.4 2010/10/16 10:27:07 skrll Exp $ d13 3 @ 1.4 log @Implement dl_iterate_phdr. Somewhat taken from FreeBSD. Manual page from OpenBSD. @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.3 2010/02/27 11:17:54 roy Exp $ d8 1 a8 1 SPECIAL ldd keepsymbols _rtld_pagesz _rtld_error _rtld_trust @ 1.3 log @Sync against new ld.elf_so @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.2 2009/08/22 06:52:15 mrg Exp $ d11 2 a12 1 SPECIAL ldd keepsymbols _rtld_objtail _rtld_objlist _rtld_objcount @ 1.2 log @kill ldd_aout. it didn't work anyway...not since i don't know when. @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.1 2009/01/07 00:39:24 mrg Exp $ d11 1 a11 1 SPECIAL ldd keepsymbols _rtld_objtail _rtld_objlist @ 1.1 log @- rework this a bunch to make it work inside /rescue/ldd. - fix alpha build. @ text @d1 1 a1 1 # $NetBSD$ a4 1 LIBS ${LDD_AOUTDIR}/libldd_aout.a @ 1.1.2.1 log @file list.ldd was added on branch netbsd-5 on 2009-01-16 22:21:30 +0000 @ text @d1 13 @ 1.1.2.2 log @Pull up following revision(s) (requested by mrg in ticket #265): libexec/ld.elf_so/headers.c: revision 1.27 rescue/list: revision 1.35 libexec/ld.elf_so/arch/sparc/Makefile.ld32: revision 1.1 usr.bin/ldd/Makefile.elf: revision 1.1 usr.bin/ldd/Makefile.elf: revision 1.2 usr.bin/ldd/ldd_aout/ldd.c: file removal usr.bin/ldd/Makefile.elf: revision 1.3 libexec/ld.elf_so/arch/sparc/Makefile.inc: revision 1.12 usr.bin/ldd/dummy.c: revision 1.1 gnu/usr.bin/binutils/ld/Makefile: revision 1.28 usr.bin/ldd/elf32/Makefile: revision 1.1 usr.bin/ldd/elf32/Makefile: revision 1.2 usr.bin/ldd/ldd.c: revision 1.3 usr.bin/ldd/elf32/Makefile: revision 1.3 usr.bin/ldd/ldd_elf/Makefile: file removal usr.bin/ldd/ldd.h: revision 1.1 usr.bin/ldd/ldd.c: revision 1.4 usr.bin/ldd/ldd_aout.c: revision 1.1 usr.bin/ldd/Makefile: revision 1.8 usr.bin/ldd/Makefile: revision 1.9 usr.bin/ldd/ldd_elfxx.c: revision 1.1 libexec/ld.elf_so/map_object.c: revision 1.37 usr.bin/ldd/ldd_aout/Makefile: file removal usr.bin/ldd/elf64/Makefile: revision 1.1 rescue/Makefile: revision 1.22 libexec/ld.elf_so/arch/i386/Makefile.ld32: revision 1.1 usr.bin/ldd/ldd_elf/ldd.c: file removal usr.bin/ldd/elf64/Makefile: revision 1.2 usr.bin/ldd/elf64/Makefile: revision 1.3 usr.bin/ldd/aout/Makefile: revision 1.1 libexec/ld.elf_so/arch/i386/Makefile.inc: revision 1.12 rescue/list.ldd: revision 1.1 usr.bin/ldd/ldd_elf/README: file removal usr.bin/ldd/Makefile.common: revision 1.1 move the defines for RTLD_ARCH_SUBDIR into a sub-sub-makefile so we can grab these values via reach-over more easily. some fixes for PR#40170: - set NATIVE=yes in the environment for genscripts.sh - set LIB_PATH to /usr/lib/{sparc,i386} for those scripts - set use_sysroot to "yes", to enable LIB_PATH to work in genscripts.sh - get rid of building an a.out-happy ldd (but keep supporting a.out binaries for the ELF version.) - convert a.out, elf32 and elf64 support into convience libraries and link them right ones in. if elf_ldd() fails on 64 bit platforms, try elf32_ldd() before aout_ldd(). now ldd on 64 bit platforms works for 32 bit binaries, aka PR#40199, and it seems that all the issues from README are gone too. add some (uintptr_t) to some casts, so these compile with ELFSIZE=32 *and _LP64. necessary for 32/64 bit combo ldd support. - rework this a bunch to make it work inside /rescue/ldd. - fix alpha build. make sure we set LIBISPRIVATE. fixes build issues reported by moof. make sure we set LIBISPRIVATE. fixes build issues reported by moof. @ text @a0 13 # $NetBSD: list.ldd,v 1.1 2009/01/07 00:39:24 mrg Exp $ PROG ldd LIBS ${LDD_AOUTDIR}/libldd_aout.a LIBS ${LDD_ELF32DIR}/libldd_elf32.a LIBS ${LDD_ELF64DIR}/libldd_elf64.a SPECIAL ldd keepsymbols _rtld_pagesz _rtld_error _rtld_trust SPECIAL ldd keepsymbols _rtld_default_paths _rtld_paths SPECIAL ldd keepsymbols _rtld_xforms _rtld_objmain SPECIAL ldd keepsymbols _rtld_objtail _rtld_objlist SPECIAL ldd keepsymbols print_needed main_local main_progname @ 1.1.2.3 log @Pull up following revision(s) via patch (requested by skrll in ticket #1724): rescue/list.ldd: revision 1.4 lib/libc/dlfcn/dlfcn_elf.c: revision 1.7 libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.57 distrib/sets/lists/comp/mi: revision 1.1512 share/man/man3/Makefile: revision 1.56 libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.58 usr.bin/ldd/ldd.c: revision 1.15 libexec/ld.elf_so/rtld.h: revision 1.84 share/man/man3/dl_iterate_phdr.3: revision 1.1 libexec/ld.elf_so/rtld.c: revision 1.129 libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.44 libexec/ld.elf_so/rtld.h: revision 1.89 libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.36 libexec/ld.elf_so/map_object.c: revision 1.41 libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.37 libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.46 include/link_elf.h: revision 1.10 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.29 libexec/ld.elf_so/arch/vax/mdreloc.c: revision 1.26 libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.34 libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.31 libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.35 libexec/ld.elf_so/Makefile: revision 1.94 libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.32 libexec/ld.elf_so/Makefile: revision 1.95 libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.31 libexec/ld.elf_so/Makefile: revision 1.96 libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.32 libexec/ld.elf_so/reloc.c: revision 1.98 libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.33 sys/sys/exec_elf.h: revision 1.106 libexec/ld.elf_so/rtld.c: revision 1.130 libexec/ld.elf_so/load.c: revision 1.37 libexec/ld.elf_so/rtld.c: revision 1.131 libexec/ld.elf_so/load.c: revision 1.38 libexec/ld.elf_so/rtld.h: revision 1.90 libexec/ld.elf_so/headers.c: revision 1.36 libexec/ld.elf_so/rtld.h: revision 1.95 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.30 libexec/ld.elf_so/arch/m68k/mdreloc.c: revision 1.25 libexec/ld.elf_so/symbol.c: revision 1.50 libexec/ld.elf_so/symbol.c: revision 1.51 libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.43 libexec/ld.elf_so/symbol.c: revision 1.52 libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.27 libexec/ld.elf_so/symbol.c: revision 1.54 PR/39240: Satoshi Suetake: Don't fail when attempting to resolve weak symbols when we are doing immediate binding, leave them alone and they will be dealt with later during lazy binding. From skrll@@ Implement negative cache checks for symbol lookups. Uses the Donelist idea from FreeBSD. Use alloca(3) instead of local xmalloc for creating our DoneLists. This allows threaded programs to use us a little better, PR lib/43005. Implement dl_iterate_phdr. Somewhat taken from FreeBSD. Manual page from OpenBSD. @ text @d1 1 a1 1 # $NetBSD: list.ldd,v 1.1.2.2 2009/01/16 22:21:30 bouyer Exp $ a12 1 SPECIAL ldd keepsymbols _rtld_objcount _rtld_objloads @