Commit Graph

875 Commits

Author SHA1 Message Date
matt
bc069d405c Improve some of the rdbg messages to print the address of the pltgot slot
being modified.
2014-03-21 01:43:33 +00:00
matt
22fbc67ed0 Don't resolve symbols to PLT entries on the VAX. It just causes a lot of
overhead.
2014-03-21 01:40:41 +00:00
joerg
f8bf5bbce0 Save actual start of function, not address of entry mask on the stack. 2014-03-19 21:52:00 +00:00
matt
f71aaf7afb Fix two bugs. (jump past entry mask, fix insv) 2014-03-19 15:34:30 +00:00
matt
db747c73e4 Once we know the bound routine, rebuilt a new callframe that can be unwound
properly.
2014-03-19 02:39:22 +00:00
matt
bf06b1032e Add .cfi ops so that one can unwind through this. 2014-03-18 23:43:38 +00:00
riastradh
6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
joerg
47875e291b Ignore LD_BIND_NOW for setuid binaries, but keep it in the environment
otherwise.
2014-03-18 16:05:34 +00:00
matt
cdbe3bab4f Change OUTPUT to powerpc:common to make powerpc64 ld happy 2014-03-07 05:57:46 +00:00
matt
9b490ebf92 Make ldd happy 2014-03-07 01:27:14 +00:00
matt
1200e7d3fe More PPC64 changes.
Nothing to do for lazy bindings.
Record DT_PPC64_GLINK and make _rtld_bind return it.
When resolving a JMP_SLOT, copy the source function descriptor into the PLTGOT
2014-03-06 19:19:40 +00:00
matt
15089cc505 Enable building ld.elf_so for powerpc
Produce a link map for ld.elf_so
2014-03-06 09:34:56 +00:00
matt
565a18129d Make ELF64 aware. 2014-03-06 09:34:07 +00:00
matt
fab57a4af5 powerpc64 changes 2014-03-06 07:47:39 +00:00
matt
746070937f Startup file for powerpc64. (too many difference with ppc32 to do
#ifdef dance)
2014-03-06 07:47:19 +00:00
joerg
15f3733bef Catch up with _lwp_park change. 2014-01-31 22:46:40 +00:00
joerg
cb2eb1a336 Don't align random sections. Simplify by using .pushsection/.popsection. 2014-01-12 19:36:08 +00:00
matt
467f6149c3 Don't use GOT relocations. Use PC relative for the GOT and GOTOFF for
_DYNAMIC.  Make thumb friendly.
2013-12-03 00:19:56 +00:00
christos
5fbbc292aa CID 1132773: Fix file descriptor leak 2013-11-27 18:01:33 +00:00
skrll
03ee7fc3bc If dlopen of the dynamic linker is requested, e.g. by rump in
rumpuser_dl_bootstrap, then return &_rtld_objself as the handle and do
not create a duplicate mapping.

The handle is mostly useless as _rtld_objself doesn't appear on
_rtld_objlist.

This fixes a problem on earm platforms where ld.elf_so (currently) has
an init_array section.  Calling this caused binaries to segv.
2013-11-20 07:18:23 +00:00
skrll
90c0a95fec Remove hack now it's fixed in 4.8.2 2013-11-16 17:14:06 +00:00
skrll
283152d4ee Apply hack for gcc 4.8 bug on rtld.c. 2013-11-13 11:06:53 +00:00
joerg
5e2fc1bbd3 Only initialise TLS space from the PT_TLS segment, if the size is
positive and the offset has been computed. Fixes PR lib/48324.
2013-10-21 19:14:15 +00:00
christos
193b880fad fix unused variable warnings 2013-10-19 17:19:30 +00:00
skrll
3ea7549453 Add debug code. 2013-10-19 10:14:06 +00:00
matt
fa741d8823 Use MACHINE_CPU for m68k. Use similar logic for both tests. 2013-10-09 22:33:41 +00:00
martin
abea8b316b The R_SPARC_L44 relocation type is documented to be truncating and
calculated as "(S + A) & 0xfff" - so while it (usually) sets a "imm13" field
in the opcode, only 12 bits of the calculated value can be used.
2013-10-03 10:45:57 +00:00
martin
c60b2e0b87 Missing , in table initializer 2013-09-23 21:00:35 +00:00
matt
25193be039 For earm, emit a MARCH note. 2013-09-10 16:35:10 +00:00
joerg
a6c6eb019c Some architectures can't create unwind tables without the frame pointer,
so don't use -fomit-frame-pointer on those.
2013-08-12 17:15:46 +00:00
skrll
ffcdb0b170 Fix DEBUG build. 2013-08-03 13:17:05 +00:00
matt
8b8f566d0a Support MACHINE_ARCH of coldfire 2013-07-18 21:58:13 +00:00
matt
36677b4016 Use new macros from <machine/asm.h> to be more portable 2013-07-18 21:57:42 +00:00
matt
d28e4d0aac Simplify ELFSIZE by using _MIPS_SZPTR 2013-07-10 15:08:38 +00:00
skrll
1f32502b56 Remove redundant assignment. Hasn't been needed since 1999. 2013-05-09 15:47:34 +00:00
christos
c188b90222 remove stray debugging 2013-05-09 15:39:10 +00:00
christos
3c085045e3 convert to SIMPLEQ like the rest of the queues. 2013-05-09 15:38:14 +00:00
christos
a3f195d87d Fix refcount of the object we found in our list by name. 2013-05-09 15:37:58 +00:00
skrll
9b98bab04b Fix debug symlink 2013-05-09 11:44:36 +00:00
christos
ea2a3471f1 provide debug symlink. 2013-05-08 15:33:45 +00:00
christos
e269a2149a need xfree() instead of free(). Using free() ends us up in an infinite loop. 2013-05-08 15:25:01 +00:00
christos
558b540714 we don't need the versioning stuff for ldd 2013-05-07 13:01:07 +00:00
christos
5e59dafbb3 don't overwrite COPTS 2013-05-06 22:49:10 +00:00
christos
a3fedff4d1 Fixed handling of DT_SONAME:
- add function to add name aliases for shared libraries loaded
	  XXX[1]: we don't add a name during load time, only when DT_SONAME
	  is present.
	- search already loaded objects in load_by_name for an already
	  loaded object that matches our name and return it.
	- add missing initialization and cleanup for obj->names
	  XXX[2]: should we make them SIMPLEQ?
	- Add XXX in rtld.c about getting the name of an object.

NB: This makes the jdk work again without resorting to a hack of putting
    the build path of libjvm.so into the run path (which is a security
    problem).
XXX: Pullup-6?
2013-05-06 19:59:29 +00:00
skrll
b49eab8ee4 Trailing whitespace 2013-05-06 08:02:20 +00:00
skrll
5aa71ff59a Disalble a debug only where it causes problems. 2013-05-06 07:58:43 +00:00
skrll
144fe47c93 Add some DEBUG code. 2013-05-06 07:54:04 +00:00
matt
d631499dcf Remove dbg for _ctype_ 2013-05-03 18:31:24 +00:00
matt
82d2cffc31 Consistently use LDELFSO_MACHINE_ARCH. 2013-05-03 15:52:31 +00:00
skrll
653c73bf56 Remove trailing whitespace 2013-05-03 10:27:05 +00:00