//uspace/trunk/libc/arch/mips32/_link.ld.in |
---|
1,5 → 1,5 |
STARTUP(../libc/arch/ARCH/src/entry.o) |
ENTRY(__entry) |
ENTRY(__start) |
PHDRS { |
text PT_LOAD FLAGS(5); |
17,13 → 17,13 |
*(.rodata*); |
} :text |
.got ALIGN(0x4000) : SUBALIGN(0x4000) { |
.data ALIGN(0x4000) : SUBALIGN(0x4000) { |
*(.data); |
} :data |
.got : { |
_gp = .; |
*(.got); |
*(.data.rel*); |
} :data |
.data : { |
*(.data); |
} :data |
.sbss : { |
*(.scommon); |
*(.sbss); |
//uspace/trunk/libc/arch/mips32/include/thread.h |
---|
26,10 → 26,11 |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
/* TLS for MIPS is described in http://www.linux-mips.org/wiki/NPTL */ |
#ifndef __LIBC__mips32THREAD_H__ |
#define __LIBC__mips32THREAD_H__ |
static inline void __tls_set(void *tls) |
{ |
__asm__ volatile ("add $27, %0, $0" : : "r"(tls)); /* Move tls to K1 */ |
//uspace/trunk/libc/arch/mips32/Makefile.inc |
---|
31,7 → 31,7 |
TARGET = mipsel-linux-gnu |
TOOLCHAIN_DIR = /usr/local/mipsel/bin |
CFLAGS += -mno-abicalls -mips3 -ftls-model=global-dynamic |
CFLAGS += -mips3 -mno-abicalls |
ARCH_SOURCES += arch/$(ARCH)/src/syscall.c \ |
arch/$(ARCH)/src/psthread.S |
//uspace/trunk/libc/arch/mips32/src/entry.s |
---|
31,13 → 31,13 |
.org 0 |
.section .init, "ax" |
.globl __entry |
.globl __start |
## User-space task entry point |
# |
# |
.ent __entry |
__entry: |
.ent __start |
__start: |
lui $28, _gp |
# Mips o32 may store its arguments on stack, make space, |
50,4 → 50,4 |
jal __exit |
.end __entry |
.end __start |