summaryrefslogtreecommitdiff
path: root/ldso
AgeCommit message (Collapse)Author
2016-01-31ldso: Fix fail of $ORIGIN expansion in case of RTLD_NOLOADLeonid Lisovskiy
$ORIGIN expansion in search_for_named_library() wrongly takes into account all bits of rflags. Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com> Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-01-31libdl: dlopen() mustn't forget RTLD_NODELETE flagLeonid Lisovskiy
If RTLD_NODELETE is passed to dlopen() rather than set on shared library itself, flag propagation to rtld_flags is missed. Test-case taken from glibc. Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com> Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2015-12-23Replace bltzal with lapc for MIPS R6 builds.Steve Ellcey
The R6 version of MIPS does not support the bltzal instruction. This patch changes dl-startup.h and dl-sysdep.h to use lapc on R6 instead. lapc is a new R6 insruction so older systems need to continue to use bltzal in order to load register $31. Signed-off-by: Steve Ellcey <sellcey@imgtec.com>
2015-12-17dlclose fixWaldemar Brodkorb
Patch is from Timo Teras Refs.: http://lists.uclibc.org/pipermail/uclibc/2012-October/047059.html http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/uclibc-dlclose-fix.patch
2015-12-05remove sh64 supportWaldemar Brodkorb
No real hardware available. The project for sh64 with sh5 seems dead since 10 years. Gcc will remove support for it soon.
2015-11-23xtensa: remove ldso workaround by real pointer checkWaldemar Brodkorb
An abort() is only generated when gcc does not implement a trap handler for the target architecture. This fixes the abort() generation. Latest gcc git master also contains a trap handler for xtensa. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Walemar Brodkorb <wbx@uclibc-ng.org>
2015-10-22ARC: With NPTL support, GP is no longer used for PICVineet Gupta
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-10-16ia64: enable and fix compile issuesWaldemar Brodkorb
Enable ia64 in the menu. Fix build for architectures withou ld.so support. Fix syntax error in bits/byteswap.h.
2015-10-09add new architecture support for or1kWaldemar Brodkorb
Information about Openrisc: http://opencores.org/or1k/Main_Page Integrated from: https://github.com/openrisc/uClibc-or1k
2015-10-08xtensa: support call0 ABIMax Filippov
Most changes are mechanical replacement of 'retw' instruction with 'abi_ret' macro, defined to 'retw' or 'ret' according to ABI. Assembly code that makes calls is duplicated for call0 ABI with changed register numbers for parameters/return value and call instruction. 'entry' instructions are replaced with 'abi_entry' macro. More interesting changes: - non-leaf assembly functions (e.g. _dl_tlsdesc_dynamic, _dl_linux_resolve, SYSCALL_ERROR_HANDLER, PSEUDO) now need to preserve registers around intermediate calls they make, use temporary stack frame for that; - setjmp/longjmp only need to save and restore return address, stack pointer and callee-saved registers in the jmpbuf; - __clone and syscall functions had hardcoded offsets to parameter passed on stack, on call0 ABI they don't need stack frame, so the offset is different. Replace these offsets with FRAMESIZE macro. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-08-22ldso: install backward compatibility symlink by defaultWaldemar Brodkorb
Simplify the switch from uClibc to uClibc-ng suggested by Alexey Brodkin <Alexey.Brodkin@synopsys.com>. Gcc always uses .0 ld.so link, so install it by default.
2015-08-19Revert "ldso: install backward compatibility symlink by default"Waldemar Brodkorb
This reverts commit f52fb21a7af0aa4e983b3e6c2ddd1b6a526b5169. Totally wrong patch.
2015-08-15ldso: install backward compatibility symlink by defaultWaldemar Brodkorb
Simplify the switch from uClibc to uClibc-ng suggested by Alexey Brodkin <Alexey.Brodkin@synopsys.com>. Gcc always uses .0 ld.so link, so install it by default.
2015-08-02simplify, as the other does not work correctly, suggested by tgWaldemar Brodkorb
2015-07-11builtin_unreachable is not available for older gccWaldemar Brodkorb
2015-06-23add patch from ldso-future branchWaldemar Brodkorb
Fixes segfaults when gcc 5.1 is used for x86. http://git.uclibc.org/uClibc/commit/ldso/ldso/i386/dl-sysdep.h?h=ldso-future&id=7de778389d0040be4a21ffc326310e0eb361570a Mentioned in #uclibc.
2015-06-10avoid some compiler warningsWaldemar Brodkorb
Patch seen here: http://lists.uclibc.org/pipermail/uclibc/2015-April/048892.html
2015-06-10h8300: Add new featureYoshinori Sato
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-24merge uClibc changesWaldemar Brodkorb
2015-04-22arm: Add BX and BXC macrosBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-22NPTL: Rename a variableBernhard Reutner-Fischer
There seems to be a bug in gold with static TLS at least on x86_64 (?) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-22ldso: PRELINK: Remove surplus newlineBernhard Reutner-Fischer
in early debugging code Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-15merge uClibc masterWaldemar Brodkorb
2015-04-14prelink: handle _begin in a gold-agnostic wayBernhard Reutner-Fischer
The nostartfiles is redundant but better be safe Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-13Merge branch '1.0' of git+ssh://uclibc-ng.org/git/uclibc-ng into 1.0Waldemar Brodkorb
2015-04-13fix compile error when LDSO_RUNPATH_OF_EXECUTABLE is setWaldemar Brodkorb
2015-04-13still required for xtensaWaldemar Brodkorb
2015-04-13gcc 4.4 does not have __builtin_unreachableWaldemar Brodkorb
For avr32 we still use gcc 4.4 compiler, so exlude the usage of __builtin_unreachable here.
2015-04-13Revert "gcc 4.9.x produces some calls to abort()"Waldemar Brodkorb
This reverts commit 69ba9dcaa13bb8bbdc8630265d73298c39945416.
2015-04-13buildsys: Do not build crt upon pregenBernhard Reutner-Fischer
No need to build crt when just generating headers Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-31buildsys: Do not build crt upon pregenBernhard Reutner-Fischer
No need to build crt when just generating headers Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-29merge uClibc git masterWaldemar Brodkorb
2015-03-27Add support for R_ARC_NONE relocations.Andrew Burgess
The R_ARC_NONE relocation is generated when --gc-sections, used by the compile time linker, removes some sections. This is completely normal, and we can see that all other targets (based on random sampling) have support for R_*_NONE relocations (named for each target). Handling R_ARC_NONE involves doing nothing with it, which is nice and easy. Signed-off-by: Andrew Burgess <andrew.burgess@embecosm.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-26ldso: mark _dl_exit as noreturnBernhard Reutner-Fischer
Otherwise gcc might not understand that oom() ended control-flow and might emit an (untaken) reference to abort() in _dl_update_slotinfo() on e.g. SH4 which breaks linking ld-uClibc.so. Arguably -ffreestanding should prevent GCC from emitting this '.global abort' but alas, it does not, which is another bug.. Also mark the function cold to further lower the incoming frequency and branch probability. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-24libm: honor NO_LONG_DOUBLE in ldouble_wrappersBernhard Reutner-Fischer
Fixes SH build breakage due to attempts to define hidden defs for unavailable long double functions. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-03-22fix bfin compile, -msoft-float is not availableWaldemar Brodkorb
2015-03-08okay, chicken-egg-problem solved really now. (was xtensa no thread failure)Waldemar Brodkorb
2015-03-07should have test it better, fix non-thread compileWaldemar Brodkorb
2015-03-07fix non-thread compile for xtensaWaldemar Brodkorb
2015-03-04Merge remote-tracking branch 'origin/upstream' into 1.0Waldemar Brodkorb
2015-02-27ldso: silence warningBernhard Reutner-Fischer
In file included from ldso/ldso/ldso.c:87:0: ldso/ldso/dl-startup.c: In function '_dl_start': ldso/ldso/dl-startup.c:184:32: warning: cast from pointer to integer of differennt size [-Wpointer-to-int-cast] auxvt[AT_BASE].a_un.a_val = (Elf32_Addr) &_begin; Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-02-20gcc 4.9.x produces some calls to abort()Waldemar Brodkorb
For sh4/xtensa architectures there is an optimization bug, which does not allow to compile ld.so with gcc 4.9.2. Disable this optimization for sh4/xtensa and ld.so compile.
2015-02-20sync with uClibcWaldemar Brodkorb
2015-02-20ldso: silence warningBernhard Reutner-Fischer
symbol_addr was set but not used Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-02-20Allow use of executable RUNPATH/RPATH when finding libraries.Steve Ellcey
This option will modify ldso so that it will use the executables RUNPATH/RPATH to find to find libraries even though this behavour is not standard. Setting this option causes the uclibc dynamic linker behavour to match the glibc dynamic linker. Signed-off-by: Steve Ellcey <sellcey@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-02-20ARCv2 ISA supportVineet Gupta
This is next gen Instruction Set Architecture from Synopsys and basis for the ARC HS family of processors. http://www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor&elq_mid=5732&elq_cid=458802 http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/arc-hs/Pages/default.aspx Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-02-16ARC: Conditionalise certain relocations as provided by TLS tools onlyVineet Gupta
uClibc mainline supports NPTL which in turns depends on TLS support in the tools (gcc/binutils), which is yet to be merged in dev branches. However there is some non NPTL code in uClibc, added as part of NPTL effort, which relies on certain relocations only provided by NPTL binutils. As a result building the current upstream even for LT.old breaks. So conditionalize that code on tools, bu tin lack of specific versions, we use NPTL enabling as a sign the tools are equipped to handle those relos. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-02-16ARC: Conditionalise certain relocations as provided by TLS tools onlyVineet Gupta
uClibc mainline supports NPTL which in turns depends on TLS support in the tools (gcc/binutils), which is yet to be merged in dev branches. However there is some non NPTL code in uClibc, added as part of NPTL effort, which relies on certain relocations only provided by NPTL binutils. As a result building the current upstream even for LT.old breaks. So conditionalize that code on tools, bu tin lack of specific versions, we use NPTL enabling as a sign the tools are equipped to handle those relos. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-02-08Use executables RPATH/RUNPATH when searching for libraries.Waldemar Brodkorb
Patch by Steve Ellcey <sellcey@imgtec.com> on uClibc mailinglist.
2015-01-26merge upstream changesWaldemar Brodkorb