aboutsummaryrefslogtreecommitdiff
path: root/libgloss
AgeCommit message (Collapse)AuthorFilesLines
2015-10-20* rl78/crt0.S (_start): Fixed code that clears .bssDJ Delorie2-10/+16
2015-10-06Add support for persistent data to the MSP430 linker scripts.Nick Clifton4-8/+53
* msp430/msp430-sim.ld: Add .persistent section. Tidy up section layout. Start RAM above hardware multiply registers. * msp430/msp430xl-sim.ld: Likewise.
2015-09-04Add support for FT32 platform.Jeff Johnston24-0/+5285
2015-08-24oops - forgot to add PR number to ChangeLog entry.Nick Clifton1-0/+1
2015-08-20 * msp430/crt0.S: Remove watchdog disabling code.Nick Clifton2-2/+4
2015-08-07or1k: Typo fixesJeff Johnston3-2/+7
Wrong paranthesis and an incorrect symbol name are fixed. * or1k/boards/optimsoc.S: Fix symbol name * or1k/crt0.S: Remove paranthesis
2015-08-07or1k: Allow exception nestingJeff Johnston4-39/+149
Allow exceptions to be nested, which is especially useful with urgent interrupts while processing an exception. The implementation counts up the nesting level with each call to an exception. In the outer exception (level 1), the exception stack is started. All nested exceptions just reserve the redzone (scratch memory that may be used by compiler) and exception context on the stack, but then process on the same scratch. Restriction: Impure pointers are shared among all exceptions. This may be solved by creating an impure data structure in the stack frame with each nested exception. * or1k/crt0.S: Add exception nesting * or1k/exceptions-asm.S: ditto * or1k/util.c: ditto
2015-08-07or1k: Make heap end globally visibleJeff Johnston2-1/+5
Boards may change the initial value from _end to another value. * or1k/sbrk.c: Make heap end globally visible
2015-08-04This is part of a larger fix for RL78 complex relocs - they need an absolute ↵Nick Clifton3-0/+9
symbol at address 0 that is not part of the *ABS* section. * rl78/rl78-sim.ld: Provide a value for __rl78_abs__. * rl78/rl78.ld: Likewise.
2015-07-14Change to nano.specs to add nano's include dircygwin-2_1_0-releaseAndre Simoes Dias Vieira2-0/+9
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-05-27or1k: Add missing initialization of impure ptrJeff Johnston2-0/+7
* or1k/impure.c: Fix initialization of impure ptr
2015-05-27or1k: set heap start for optimsoc-gzllJeff Johnston2-0/+33
- With the gzll kernel we have two different loading options: - If the image is loaded to the global memory, the bootstrapping loads the kernel to local memory. Applications are loaded on demand. The heap then starts right after bss. - If the image is pre-loaded to the local memory it includes the application binaries right after bss. The heap then starts after the application objects. - We can check if this is a gzll kernel as it has the string "gzll" at 0x2000. At 0x200c we then find the end of the application objects in the image. If there is no global memory we set _or1k_heap_start to this value. * or1k/boards/optimsoc.S: Heap for gzll kernel
2015-05-27or1k: Make heap start configurableJeff Johnston2-2/+7
- Previously the heap started right after the bss section. This can now be configured by changing the _or1k_heap_start symbol that defaults to the old value (&end). In board_init_early, we can now set this to another value. * or1k/sbrk.c: Allow for different heap start
2015-05-27or1k: UART also accept timeout interruptJeff Johnston2-3/+9
- The UART interrupt only handled receiver FIFO full interrupts, but we also want to handle timeout interrupts. * or1k/or1k_uart.c: Fix interrupts
2015-05-27Bug fix in timer for or1kJeff Johnston2-1/+5
- Properly set the interrupt pending flag in the timer mode register. * or1k/timer.c: Properly set interrupt flags
2015-05-27Store entire context for or1kJeff Johnston2-0/+14
- Store the exception program counter (from EPCR) and exception status register (from ESR) also during the exception. A runtime system may replace them thereby to implement a thread switch. * or1k/exception-asm.S: Store missing state
2015-05-27Fix exception stack frame for or1kJeff Johnston3-3/+8
- We do not need a red zone here, as we do not operate on the current stack, but always use the clear exception stack. Also reserve two extra words for the context to store EPCR and ESR. * or1k/crt0.S: Fix exception stack frame * or1k/exception-asm.S: ditto
2015-05-27Fix interrupt handling for or1k.Jeff Johnston2-28/+28
- During interrupt handling the PICSR, table pointers and current interrupt line have been saved in incorrect registers and/or stored on the stack. - Save the pointer in r16/r18, PICSR in r20 and the current interrupt line in r22. Those are callee-saved registers, so that the register values will be preserved. * or1k/interruts-asm.S: Change registers to callee-saved.
2015-05-27Add a check that the data area does not overrun the stack.Nick Clifton7-3/+110
* msp430/msp430-sim.ld (.stack): Add an assertion to make sure that the data area does not overrun the stack. PROVIDE a new symbol __stack_size to allow the user to set the limit. * msp430/msp430xl-sim.ld (.stack): Likewise. * rl78/rl78-sim.ld (.stack): Likewise. * rl78/rl78.ld (.stack): Likewise. * rx/rx-sim.ld (.stack): Likewise. * rx/rx.ld (.stack): Likewise.
2015-05-27Adds support for placing MSP430 code and data into either low memory or high ↵Nick Clifton10-786/+455
memory. * msp430/msp430.ld: Delete. * msp430/msp430F5438A-l.ld: Delete. * msp430/msp430F5438A-s.ld: Delete. * msp430/crt_movedata.S: Delete. * msp430/Makefile.in (SCRIPTS): Remove msp430.ld. (CRT_OBJS): Add crt_move_highdata.o. * msp430/memmodel.h (START_CRT_FUNC): New macro. (END_CRT_FUNC): New macro. (WEAK_DEF): New macro. * msp430/crt0.S: Use new macros. (move_highdata): New code to initialise the .data section if it is held in high memory. * msp430/msp430-sim.ld (.data): Add .either.data. (.rodata2): Move some read-only data sections here. (.text): Add .either.text. (.rodata): Add .either.rodata. (.bss): Add .either.bss. * msp430/msp430xl-sim.ld (MEMORY): Add HIROM. (.rodata2): Move some read-only data sections here. (.upper.data): New section. Include notes about how to initialise it.
2015-04-23libgloss: mcore: add custom syscall headerMike Frysinger2-0/+47
The mcore simulator has a unique set of syscall numbers. Add a header that matches reality since the common one doesn't.
2015-04-23libgloss: arm: fix copy & paste in syscall.hMike Frysinger2-3/+7
This header was clearly copied from the common syscall.h and customized, but the header comment is no longer accurate -- this isn't the general file anymore.
2015-04-23For the RX port, avoid using string instructions when ↵Nick Clifton2-0/+18
__RX_DISALLOW_STRING_INSNS__ is defined. * rx/crt0.S (_start): If string instructions are not allowed, avoid using SMOVF. * libc/machine/rx/memchr.S: Add non-string insn using version. * libc/machine/rx/memcpy.S: Likewise. * libc/machine/rx/memmove.S: Likewise. * libc/machine/rx/mempcpy.S: Likewise. * libc/machine/rx/strcat.S: Likewise. * libc/machine/rx/strcmp.S: Likewise. * libc/machine/rx/strcpy.S: Likewise. * libc/machine/rx/strlen.S: Likewise. * libc/machine/rx/strncat.S: Likewise. * libc/machine/rx/strncmp.S: Likewise. * libc/machine/rx/strncpy.S: Likewise.
2015-04-23Add .note and DWARF3 sections to RX linker scripts.Nick Clifton3-0/+17
* rx/rx.ld: Add .note and DWARF3 sections. * rx/rx-sim.ld: Likewise.
2015-04-23Always include the .csstart section in RL78 executables.Nick Clifton3-2/+7
* rl78/rl78.ld (.csstart): Add a KEEP directive. * rl78/rl78-sim.ld (.csstart): Add a KEEP directive.
2015-03-05 * v850/sim.ld: Add a .note.renesas section.Nick Clifton2-0/+7
2015-02-17 * arm/crt0.S: Initialise __heap_limit when ARM_RDI_MONITOR is defined.Corinna Vinschen3-1/+17
* arm/syscalls.c: define __heap_limit global symbol. * arm/syscalls.c (_sbrk): Honour __heap_limit.
2015-02-11 * or1k/or1k_uart.c: Write bugfix and cleanup/documentation.Corinna Vinschen3-57/+105
* or1k/or1k_uart.h: Cleanup.
2015-01-22* sparc/crt0.S: Declare use of system registers.Yaakov Selkowitz5-1/+20
* sparc/cygmon-crt0.S: Ditto. * sparc/erc32-crt0.S: Ditto. * sparc/traps.S: Ditto.
2015-01-21 * COPYING.LIBGLOSS: Add Controls and Data Services copyright.Eric Botcazou18-0/+4858
* COPYING.NEWLIB: Likewise. libgloss/ * configure.in: Add Visium support. * configure: Regenerate. * visium/: New directory. newlib/ * configure.host: Add Visium support. * libc/machine/configure.in: Likewise. * libc/machine/configure: Regenerate. * libc/machine/visium/: New directory. * libc/include/machine/setjmp.h (_JBLEN): Define for Visium. * libc/include/machine/ieeefp.h (__IEEE_BIG_ENDIAN): Likewise. * libc/include/machine/time.h (_CLOCKS_PER_SEC_): Likewise.
2015-01-20* rl78/crt0.S: Initialize .saddr. Avoid using SEL.DJ Delorie2-0/+97
* rl78/rl78-sim.ld: Add .saddr/.frodata section. * rl78/rl78.ld: Likewise. * rl78/rl78-sim.ld: Make room for virtual register banks. * rl78/rl78.ld: Likewise. * rl78/vregs.h: New. * rl78-sys.h: Use it. * rl78/swrite.S: New. * rl78/Makefile.in: Build it. * rl78/write.c: Use it.
2015-01-16* rl78/crt0.S: Initialize .saddr. Avoid using SEL.DJ Delorie7-61/+86
* rl78/rl78-sim.ld: Add .saddr/.frodata section. * rl78/rl78.ld: Likewise. * rl78/rl78-sim.ld: Make room for virtual register banks. * rl78/rl78.ld: Likewise. * rl78/vregs.h: New. * rl78-sys.h: Use it. * rl78/swrite.S: New. * rl78/Makefile.in: Build it. * rl78/write.c: Use it.
2015-01-14 * or1k/include/or1k-sprs.h: New auto-generated header file.Corinna Vinschen2-5/+2426
2015-01-052015-01-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>Jeff Johnston5-11/+19
* lm32/Makefile.in (install): Respect DESTDIR. (install-scripts): Ditto. * mep/Makefile.in (install): Ditto. * mt/Makefile.in (install): Ditto. * rl78/Makefile.in (install): Ditto.
2014-12-27The moxie sub.l instruction is now just sub.Anthony Green2-2/+6
2014-12-152014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>Jeff Johnston16-1/+808
* or1k/Makefile.in: Build and install board libraries * or1k/board.h: New file * or1k/boards/README: New file * or1k/boards/atlys.S: New file * or1k/boards/de0_nano.S: New file * or1k/boards/ml501.S: New file * or1k/boards/ml509.S: New file * or1k/boards/optimsoc.S: New file * or1k/boards/or1ksim-uart.S: New file * or1k/boards/or1ksim.S: New file * or1k/boards/ordb1a3pe1500.S: New file * or1k/boards/ordb2a.S: New file * or1k/boards/orpsocrefdesign.S: New file * or1k/boards/tmpl.S: New file * or1k/boards/tmpl.c: New file
2014-12-152014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>Jeff Johnston21-1/+2583
* or1k/Makefile.in: Add libor1k * or1k/README: New file * or1k/caches-asm.S: New file * or1k/exceptions-asm.S: New file * or1k/exceptions.c: New file * or1k/impure.c: New file * or1k/include/or1k-nop.h: New file * or1k/include/or1k-support.h: New file * or1k/interrupts-asm.S: New file * or1k/interrupts.c: New file * or1k/mmu-asm.S: New file * or1k/or1k-internals.h: New file * or1k/or1k_uart.c: New file * or1k/or1k_uart.h: New file * or1k/outbyte.S: New file * or1k/sbrk.c: New file * or1k/sync-asm.S: New file * or1k/syscalls.c: New file * or1k/timer.c: New file * or1k/util.c: New file
2014-12-152014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>Jeff Johnston10-1/+5187
* README: Add details about or1k. * configure.in: Add or1k/or1knd * configure: Regenerated. * or1k/aclocal.m4: New file. * or1k/configure: Ditto. * or1k/Makefile.in: New file * or1k/configure.in: New file * or1k/crt0.S: New file * or1k/include/or1k-asm.h: New file
2014-12-15 * libgloss/nds32/_exit.S: Finish with an infinite loop in _exit.Corinna Vinschen13-81/+285
* libgloss/nds32/_getpid.S: Don't issue _getpid system call, it is always successful. * libgloss/nds32/_gettimeofday.S: No error for _gettimeofday is defined in SYS_geterr handler. * libgloss/nds32/_isatty.S: No error for _isatty is defined in SYS_geterr handler. * libgloss/nds32/_kill.S: Alway fail. errno = EINVAL. * libgloss/nds32/_link.S: Alway fail. errno = EMLINK. * libgloss/nds32/_times.S: Alway fail. errno = EACCES. * libgloss/nds32/_unlink.S: fix copy and paste error. * libgloss/nds32/crt0.S: Add pre_c_init, post_c_init, arg_init. * libgloss/nds32/crt1.S: Add pre_c_init, post_c_init, arg_init. * libgloss/nds32/syscall_extra.h: Re-format. * libgloss/nds32/vh.h: Add more virtual hosting number.
2014-12-11Rebuilt moxie/configureAnthony Green2-0/+20
2014-11-28 * mips/crt0.S: Configure processor based on .MIPS.abiflags.Corinna Vinschen8-28/+194
Remove FPU availability check, just use the pre-processor flags to indicicate what the user wanted. * mips/abiflags.S: New file. * mips/regs.S (SR_MSA): Define macro. * mips/mti32.ld: Place .MIPS.abiflags and wrap in marker symbols. * mips/mti64.ld: Likewise. * mips/mti64_64.ld: Likewise. * mips/mti64_n32.ld: Likewise.
2014-11-272014-11-26 Matthew Fortune <Matthew.Fortune@imgtec.com>Jeff Johnston2-35/+24
* mips/crt0.S: Remove .set noreorder throughout. (zerobss): Open code the bltu macro instruction so that the zero-loop does not have a NOP in the branch delay slot.
2014-11-13 * msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o.Nick Clifton5-51/+129
* msp430/crt0.S (high_bss): Add. * msp430/msp430-sim.ld: Add error message if .upper sections are detected. * msp430/msp430xl-sim.ld (MEMORY): Adjust to better mimic real life MCUs. Add support for upper and lower sections.
2014-10-232014-10-22 Tim Harder <radhermit@gmail.com>DJ Delorie2-2/+8
* msp430/Makefile.in: respect DESTDIR during install
2014-09-22 * configure.in: Remove config_libnosys=falseNick Clifton6-9/+14
* configure: Regenerated. * msp430/nosyscalls.S: Rename to ciosyscalls.S * msp430/Makefile.in: Change LIBNOSYS to LIB_CIO.
2014-08-15Add missing file from last patchCorinna Vinschen1-0/+18
2014-08-14 * arm/elf-nano.specs: New file.Corinna Vinschen4-12/+31
* arm/elf-rdimon.specs: Support nano.specs. * arm/Makefile.in: Support nano.specs. * libnosys/nosys.specs: Support nano.specs.
2014-07-28Fix typo in previous commitAnthony Green1-1/+1
2014-07-27Add moxiebox support.Anthony Green4-5/+265
2014-07-16 * arm/elf-aprofile-validation.specs (*link): Make text segmentCorinna Vinschen3-2/+8
64k-aligned. * arm/elf-aprofile-ve.specs (*link): Likewise.