Commit Graph

12 Commits

Author SHA1 Message Date
mrg
85f6c4cfe8 don't build ldd64 support if !MKCOMPAT and mips64. 2019-02-04 00:05:20 +00:00
kre
1300bdf616 Fix merge botch 2019-01-27 05:14:45 +00:00
pgoyette
d91f98a871 Merge the [pgoyette-compat] branch 2019-01-27 02:08:33 +00:00
kamil
f4a6ea5271 Disable SANITIZER for ldd(1)
These utilities (elf32, elf32_compat, elf64, liblldb) share code with the
ELF dynamic loader that is not being sanitized and its symbols are
installed into sanitized programs (in particular __tls_get_addr()).

Additionally libldd is used in rescue that is not expected to be sanitized
as of today.
2018-06-21 10:41:45 +00:00
joerg
9d3b3e9cc5 Fix ldd on LP64 platforms by splitting the symbol versioning stuff for
elf64 as well.
2014-08-28 12:23:29 +00:00
matt
b1f346caa8 Use OBJECT_FMTS from <bsd.own.mk> to determine elf32/elf64 needs 2014-03-02 03:55:19 +00:00
joerg
aad599979d 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.
2011-03-09 23:10:05 +00:00
mrg
118cb193d7 - adjust the logic for compat ldd: add an elf32_compat module and arrange
for mips64 to build this with MLIBDIR set to o32
- make mips64 ldd call elf32_compat_ldd as well
- make mips64 elf64 set MLIBDIR to 64
- don't need ld.elf_so's Makefile.ld32 files anymore (they are going away
  soon anyway)

tested on amd64 and sparc64, and an earlier version tested on mips64.
2009-12-13 08:50:56 +00:00
christos
2567980901 another bsd.own.mk missing 2009-01-11 05:01:34 +00:00
mrg
32ae7959e8 make sure we set LIBISPRIVATE.
fixes build issues reported by moof.
2009-01-07 07:52:28 +00:00
mrg
9b688fed42 - rework this a bunch to make it work inside /rescue/ldd.
- fix alpha build.
2009-01-07 00:39:23 +00:00
mrg
648c936726 - 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.
2009-01-06 03:59:56 +00:00