Changeset 29a9f62 in mainline for libc/arch/mips32


Ignore:
Timestamp:
2006-03-23T10:33:55Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
77bd004
Parents:
1cef26f
Message:

Added symbolic links 'libarch','libadt','libipc' into libc/include,
so that it can be easily used from anywhere.
Renamed thread_main to thread_main.
Allowed MIPS to compile with -O0.
Added non-preemptible threads support (not yet secured by futexes).
Added simple way to hold Thread Local Storage. Support for compiler
will be added later.
This update breaks IA64 uspace.

There is some forgotten spinlock_lock() in futexes, amd64 gets locked
in the secod uspace thread probably with preemption disabled.

Location:
libc/arch/mips32
Files:
4 added
3 edited
1 moved

Legend:

Unmodified
Added
Removed
  • libc/arch/mips32/Makefile.inc

    r1cef26f r29a9f62  
    3232TARGET = mipsel-linux-gnu
    3333TOOLCHAIN_DIR = /usr/local/mipsel/bin
    34 CFLAGS += -mno-abicalls -mips3
     34CFLAGS += -mno-abicalls -mips3 -ftls-model=global-dynamic
    3535
    36 ARCH_SOURCES += arch/$(ARCH)/src/syscall.c
     36ARCH_SOURCES += arch/$(ARCH)/src/syscall.c \
     37        arch/$(ARCH)/src/psthread.S
    3738
    3839LFLAGS += -N
  • libc/arch/mips32/src/entry.s

    r1cef26f r29a9f62  
    3737#
    3838#
     39.ent __entry
    3940__entry:
    4041        lui $28, _gp
    41 
     42       
     43        # Mips o32 may store its arguments on stack, make space,
     44        # so that it could work with -O0
     45        addiu $sp, -16
     46       
     47        jal __main
     48       
    4249        jal main
    43         nop
    4450       
    4551        jal __exit
    46         nop     
    4752       
    4853.end __entry
  • libc/arch/mips32/src/thread_entry.s

    r1cef26f r29a9f62  
    3838#
    3939#
     40.ent __thread_entry
    4041__thread_entry:
    4142        lui $28, _gp
     
    4546        #
    4647        add $4, $2, 0
    47         jal thread_main
     48        # Mips o32 may store its arguments on stack, make space
     49        addiu $sp, -16
     50       
     51        j __thread_main
    4852        nop
    49        
     53               
    5054        #
    5155        # Not reached.
    5256        #
     57.end __thread_entry
Note: See TracChangeset for help on using the changeset viewer.