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
skrll
558553d0e3
Provide a default LDELFSO_MACHINE_ARCH. hi matt!
...
atf-run works again - the init/fini stuff didn't get run otherwise.
2013-05-03 09:37:17 +00:00
matt
5d1d1ac212
Print out &_DYNAMIC too.
2013-05-02 21:11:18 +00:00
matt
6b1442b03a
Print out PT_DYNAMIC address for objmain.
...
Print out &_DYNAMIC too.
2013-05-02 21:11:03 +00:00
matt
25c44086c9
Changes for MKCOMPAT for earm.
2013-04-27 06:24:22 +00:00
matt
3498abfd33
Use __printflike and __dead instead of __attributes__
2013-04-25 14:16:37 +00:00
matt
0504785998
Use phdr as start of phdrs (duh)
2013-04-25 13:45:15 +00:00
matt
f0744dd4e8
Use ph, not phdr, consistently.
2013-04-25 13:26:17 +00:00
matt
e4c78a6811
Use relocbase, not mapbase.
2013-04-25 13:15:26 +00:00
matt
b469c1cb35
Don't assume that PT_PHDR is always first.
2013-04-25 13:14:41 +00:00
skrll
afe1984da4
Adjust exidx_start by relocbase
2013-04-25 12:28:59 +00:00
skrll
d4d42c7f62
Handle PT_ARM_EXIDX when mapping objects.
2013-04-25 09:01:23 +00:00
matt
44eef346cd
Only include unwind.h if _RTLD_SOURCE
2013-04-25 06:37:40 +00:00
matt
5417f425b2
Add support for PT_ARM_EXIDX and __gnu_Unwind_Find_exidx for libgcc's support
...
of the ARM EHABI.
2013-04-24 22:37:20 +00:00
matt
e3feeaa73b
Add a ld.elf_so internals version of __gnu_Unwind_Find_exidx for that the
...
libgcc EHABI can find the exception tables for a supplied PC.
2013-04-24 22:32:29 +00:00
christos
f903624708
split debug info for rtld
2013-04-05 20:16:40 +00:00
christos
f7f3399458
don't free cp before we copy it!
2013-01-24 17:57:29 +00:00