martin
2782e828f4
Avoid use after free, reported by the coverity scanner.
2014-10-30 07:53:41 +00:00
matt
463829e46a
RISC-V support.
2014-09-19 17:43:33 +00:00
matt
6cf6fe02a9
New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
2014-09-19 17:36:24 +00:00
matt
27620987b8
New files for OR1K support
2014-09-03 19:34:25 +00:00
matt
00cc626e2f
OR1K support
2014-09-03 19:31:32 +00:00
joerg
e4cd9bc4a2
Remove (now duplicated) target computation.
2014-08-31 20:06:22 +00:00
christos
94e1a89978
remove unused define
2014-08-27 04:07:04 +00:00
joerg
c1a71e8076
Restore parenthesis to cast in the right order.
2014-08-26 21:20:05 +00:00
joerg
b88be9f652
Replace casts in the inline version of _rtld_call_function_void of
...
_rtld_call_function_addr with ifdef on RTLD_LOADER.
2014-08-26 19:49:33 +00:00
christos
db25848c17
fix set but not used.
2014-08-26 15:06:50 +00:00
joerg
5d06599748
Go back to skipping init/fini handling for ldd, makes problems for 32bit
...
compat on LP64.
2014-08-26 12:14:14 +00:00
christos
d9972a4666
Introduce a cast to fix the build for Elf32 on _LP64.
2014-08-26 07:54:27 +00:00
joerg
7a1a6f1cf3
Add basic support for indirect functions. It allows providing a public
...
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.
Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions
Inspired by FreeBSD's r228435 by kib@freebsd.org .
2014-08-25 20:40:52 +00:00
joerg
f5cd842d49
Outdated, kill.
2014-08-23 19:18:41 +00:00
joerg
6a83645936
Typo.
2014-08-23 18:05:33 +00:00
matt
5b3354816c
Add proper registers for register counts.
2014-08-17 16:57:37 +00:00
matt
d32bdc3217
add a missing register prefix.
2014-08-17 16:14:19 +00:00
matt
30993f706c
Use -fPIC since powerpc64 is always compiled as -fPIC and -fpic would cause
...
__PIC__ to change.
2014-08-15 09:40:07 +00:00
joerg
8a961968a8
Build position independent on PPC64, too.
2014-08-13 15:56:52 +00:00
matt
243b0ccea7
Don't provide __gnu_Unwind_Find_exidx if __ARM_DWARF_EH__ is defined
2014-08-10 23:35:26 +00:00
matt
547b3a3b01
Changes to existing files to enable building AARCH64 userland.
...
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
matt
beb9c6d1b5
Preliminary files for AARCH64 (64-bit ARM) support.
...
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
matt
154c7bc749
Fix parenthesis on __ha macro
2014-07-28 17:28:13 +00:00
martin
b87a9303be
The table of masks applied for each relocation type was wrong for some
...
relocs with 64bit targets, like GLOB_DAT.
Change some instruction patterns used for PLT slots, so -current
objdump -d shows what the comment says.
Fix encoding of %lox() in PLT slots "close" to -1.
Enhance debug output slightly.
2014-04-02 14:11:25 +00:00
matt
a1f21652d9
Make sure r1 is preserved _rtld_bind_start.
2014-03-22 15:13:10 +00:00
matt
e26b436cdb
Simplify. If we got called via a calls $n, *pcrel32, instead of constructing
...
a new stack frame, back up the PC by 7 and return back to the calls so it
will be reinvoked. (This is by far the most common way it gets invoked).
Otherwise rebuild a new callframe and jump to the routine.
2014-03-21 14:03:30 +00:00
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