Commit Graph

464 Commits

Author SHA1 Message Date
Corinna Vinschen 0b42ea7960 Deprecate newlib and winsup ChangeLog files
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-01-28 11:15:33 +01:00
DJ Delorie 7d5b16ab9a Build msp430-specific libnosys
The MSP430 debuggers support I/O on hardware through CIO, so
we can use a CIO-enabled library as the "nosys" library (in
addition to the libsim library, which talks to our simulator)

* configure.in: Don't build default libnosys for msp430
* configure: Regenerate.
* msp430/Makefile: Rename libcio to libnosys.
2015-12-17 16:51:41 -05:00
DJ Delorie 28d7af216e Update CIO hooks to be more flexible.
Replace the one hook we had with two to avoid underscore issues.

* msp430/cio.c: Remove, replace with...
* msp430/cio.S: New, this.
2015-12-17 16:22:52 -05:00
Kevin Buettner 725532a3b2 rl78: Don't output CR when LF is encountered in write().
The file libgloss/rl78/write.c currently contains code which outputs
\r when \n is seen.  The code will then output the \n as well.

This patch removes the bit of code that tests for \n and then outputs
\r.

I made this change to fix some failures in gdb.base/call-ar-st.exp.  In
that test, I see two carriage returns followed by a newline.  One CR is
output by the libgloss code.  The other is output by the terminal driver.

The total list of failures fixed (using the default rl78 multilib) are:

FAIL: gdb.base/call-ar-st.exp: print print_double_array(double_array) (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_char_array(char_array) (timeout)
FAIL: gdb.base/call-ar-st.exp: continue to tbreak2 (timeout)
FAIL: gdb.base/call-ar-st.exp: continuing to tbreak3 (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_double_array(array_d) (timeout)
FAIL: gdb.base/call-ar-st.exp: continuing to tbreak4 (timeout)
FAIL: gdb.base/call-ar-st.exp: print sum_array_print(10, *list1, *list2, *list3, *list4) (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_small_structs (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_ten_doubles(123.456, 123.456, -0.12, -1.23, 343434.8, 89.098, 3.14, -5678.12345, -0.11111111, 216.97065) (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_small_structs from print_long_arg_list (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_struct_rep(*struct1, *struct2, *struct3) (timeout)
FAIL: gdb.base/dprintf.exp: call: printf: 1st dprintf (timeout)
FAIL: gdb.base/dprintf.exp: call: printf: 2nd dprintf (timeout)
FAIL: gdb.base/interrupt.exp: process is alive (the program exited)

There are no regressions.

libgloss/ChangeLog:

	* rl78/write.c (_write): Don't output CR when LF is encountered.
2015-12-16 13:38:38 -07:00
Nick Clifton 3ff65caea5 Always define __high_bsssize, do not just PROVIDE it.
* msp430/msp430xl-sim.ld (__high_bsssize): Define.
2015-12-04 10:14:10 +00:00
Nick Clifton c70d8f454a Fix initialisation of .upper.bss for the MSP430.
* msp430/msp430xl-sim.ld (__high_bsssize): Define.
2015-11-23 09:00:23 +00:00
Anton Kolesov acdfcb0a0a Add support for ARC to libgloss
ChangeLog:
2015-11-12  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* configure.in: Add ARC support to libgloss.
	* configure: Regenerate.

libgloss/ChangeLog:
2015-11-12  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* configure: Add ARC support.
	* configure.in: Likewise.
	* arc/Makefile.in: Likewise.
	* arc/aclocal.m4: Likewise.
	* arc/configure: Likewise.
	* arc/configure.in: Likewise.
	* arc/crt0.S: Likewise.
	* arc/libcfunc.c: Likewise.
	* arc/nsim-syscall.h: Likewise.
	* arc/nsim-syscalls.c: Likewise.
	* arc/nsim.specs: Likewise.
	* arc/sbrk.c: Likewise.
2015-11-12 14:11:47 +01:00
DJ Delorie 9e8f756124 * rl78/crt0.S (_start): Fixed code that clears .bss 2015-10-20 21:37:06 -04:00
Nick Clifton 3b8933900f Add support for persistent data to the MSP430 linker scripts.
* msp430/msp430-sim.ld: Add .persistent section.
	Tidy up section layout.
	Start RAM above hardware multiply registers.
	* msp430/msp430xl-sim.ld: Likewise.
2015-10-06 17:33:16 +01:00
Jeff Johnston dc09f27aaa Add support for FT32 platform. 2015-09-04 13:13:30 -04:00
Nick Clifton 9eb50ea21b oops - forgot to add PR number to ChangeLog entry. 2015-08-24 10:05:19 +01:00
Nick Clifton 23066e1b64 * msp430/crt0.S: Remove watchdog disabling code. 2015-08-20 17:19:49 +01:00
Jeff Johnston 30c6a3088b or1k: Typo fixes
Wrong paranthesis and an incorrect symbol name are fixed.

          * or1k/boards/optimsoc.S: Fix symbol name
          * or1k/crt0.S: Remove paranthesis
2015-08-07 15:02:03 -04:00
Jeff Johnston 31cf34f849 or1k: Allow exception nesting
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-07 15:02:03 -04:00
Jeff Johnston 0d04c03829 or1k: Make heap end globally visible
Boards may change the initial value from _end to another value.

           * or1k/sbrk.c: Make heap end globally visible
2015-08-07 15:01:50 -04:00
Nick Clifton 9698cc0f33 This is part of a larger fix for RL78 complex relocs - they need an absolute 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-08-04 13:38:27 +01:00
Andre Simoes Dias Vieira c028685518 Change to nano.specs to add nano's include dir
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-07-14 15:55:18 +02:00
Jeff Johnston bb5cb3afb5 or1k: Add missing initialization of impure ptr
* or1k/impure.c: Fix initialization of impure ptr
2015-05-27 13:30:20 +02:00
Jeff Johnston 5eb4a1666d or1k: set heap start for optimsoc-gzll
- 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-27 13:30:20 +02:00
Jeff Johnston 58efeedd16 or1k: Make heap start configurable
- 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-27 13:30:20 +02:00
Jeff Johnston aa26b78462 or1k: UART also accept timeout interrupt
- 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-27 13:30:20 +02:00
Jeff Johnston 58e5719a0e Bug fix in timer for or1k
- Properly set the interrupt pending flag in the timer mode register.

    * or1k/timer.c: Properly set interrupt flags
2015-05-27 13:30:20 +02:00
Jeff Johnston b46d3b5536 Store entire context for or1k
- 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-27 13:30:20 +02:00
Jeff Johnston a6342974b0 Fix exception stack frame for or1k
- 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-27 13:30:19 +02:00
Jeff Johnston 132030fcf2 Fix interrupt handling for or1k.
- 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-27 13:30:19 +02:00