Commit Graph

627 Commits

Author SHA1 Message Date
Laurent ALFONSI 9b1167219a ARM/AArch64: Fix GetCmdLine semihosting directives
When simulating arm code, the target program startup code (crt0) uses
semihosting invocations to get the command line from the simulator. The
simulator returns the command line and its size into the area passed in
parameter. (ARM 32-bit specifications :
http://infocenter.arm.com/help/topic/com.arm.doc.dui0058d/DUI0058.pdf
chapter "5.4.19 SYS_GET_CMDLINE").

The memory area pointed by the semihosting register argument is located
in .text section (usually not writtable (RX)).

If we run this code on a simulator that respects this rights properties
(qemu user-mode for instance), the command line will not be written to
the .text program memory, in particular the length of the string. The
program runs with an empty command line. This problem hasn't been seen
earlier probably because qemu user-mode is not so much used, but this can
happen with another simulator that refuse to write in a read-only segment.

With this modification, the command line can be correctly passed to the
target program.

Changes:
- libgloss/arm/crt0.S : Arguments passed to the AngelSWI_Reason_GetCmdLine
  semihosting invocation are placed into .data section instead of .text
- libgloss/aarch64/crt0.S : Idem for aarch64 AngelSVC_Reason_GetCmdLine
  semihosting.
2017-05-19 15:45:58 -04:00
Jozef Lawrynowicz 161b4ff037 Fix relocation type for _bsssize being R_MSP430X_ABS16 when large memory model is used 2017-04-19 15:04:31 +02:00
Carlos Santos 8ae6d8003a libgloss/arm: fix discovery of "eabihf" toolchains
ARM EABI toolchains can optionally use the "hf" suffix to identify
hardware floating point support. Use the "*-*-eabi*" pattern to match
these toolchains.

Original patch by Bryan Hundven for the Crosstool-NG project. Improved
by Alexey Neyman.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
CC: Bryan Hundven <bryanhundven@gmail.com
CC: Alexey Neyman <stilor@att.net>
2017-04-18 12:24:42 +02:00
Thomas Preud'homme be5926babb Fix elf-nano.specs to work without -save-temps
The changes in af272aca59 only works when
using gcc/g++ with -E or -save-temps, otherwise newlib's newlib.h gets
used even if -specs=nano.specs is specified. This is because the driver
only use cpp_options spec for the external cpp tool, not for the
integrated one.

This patch uses instead cpp_unique_options which is used in all cases:
it is used directly when the integrated preprocessor is used, and
indirectly by expansion of cpp_options otherwise.
2017-02-15 16:31:16 +01:00
Thomas Preudhomme af272aca59 Fix cpp invocation for C++ in nano spec
Hi,

The changes in c028685518 to use
newlib-nano's include directory work for cc1 but not cc1plus. cc1plus
comes with its own cpp spec which does not have a name attached to it.

This patch uses the renaming trick on cpp_options instead of cpp, as
cpp_options is used both by cc1 and cc1plus.
2017-02-13 09:18:00 +01:00
Stafford Horne 135c0c8368 libgloss: Remove duplicate definition of environ
Environ is defined in libgloss and libc:
 - libgloss/or1k/syscalls.c
 - libc/stdlib/environ.c

When linking we sometimes get errors:
or1k-elf-g++ test.o -mnewlib -mboard=or1ksim -lm -o  test
/opt/shorne/software/or1k/lib/gcc/or1k-elf/5.3.0/../../../../or1k-elf/lib/libor1k.a(syscalls.o):(.data+0x0):
multiple definition of `environ'
/opt/shorne/software/or1k/lib/gcc/or1k-elf/5.3.0/../../../../or1k-elf/lib/libc.a(lib_a-environ.o):(.data+0x0):
first defined here
collect2: error: ld returned 1 exit status

This doesnt happen after the fix. Basic things build fine too.
2017-02-13 09:16:51 +01:00
Stafford Horne ff7b7b8945 libgloss: or1k: If available call the init for init_array
There was an issue revealed in gdb testing where C++ virtual tables
were not getting properly initialized.  This seems to be due to the
c++ global constructors moving from ctors to init_array.

This fix makes sure we call the proper method for initializing the
constructors in all places.
2017-02-13 09:16:51 +01:00
Olof Kindgren d1caad4393 or1k: Make open reentrant
or1k uses reentrant calls by default, but there was no open_r defined
which caused failure in C++/C code such as:

int main() { std::cout << "test\n";  return 0; }

or

int main() {open(".", 0);}
2017-02-13 09:16:51 +01:00
Hans-Peter Nilsson cd5e7e2d82 Committed, libgloss: hook up cris-elf to the initfini-array support.
After a binutils change "a while ago" (2015-12) to default to
--enable-initfini-array, i.e. to merge .ctors and .dtors into
.init_array and .fini_array, this is needed for cdtors to run at all.

Based on what goes on in arm/ and aarch64/.  Tested for cris-elf by
running the gcc testsuite.

By the way, the configure test doesn't detect this change, so the
HAVE_INITFINI_ARRAY ifdeffery is somewhat redundant.  Still, the
change is tested to be safe with older binutils too.

libgloss/
	* cris/crt0.S, cris/lcrt0.c: Include newlib.h.
	[HAVE_INITFINI_ARRAY] (_init): Define to __libc_init_array.
	[HAVE_INITFINI_ARRAY] (_fini): Ditto __libc_fini_array.
2017-01-29 21:23:32 +01:00
Thomas Preudhomme 3ce88693f5 Fix html build with makeinfo 5.2
HTML build fails with makeinfo 5.2 with the following error:

libgloss/doc/porting.texi:73: @menu seen before first @node
libgloss/doc/porting.texi:73: perhaps your @top node should be wrapped in
@ifnottex rather than @ifinfo?

Following the advice indeed solve the issue while still allowing pdf, dvi and
info builds to work.
2016-08-19 10:32:23 +02:00
Claudiu Zissulescu 1baa8bb843 arc: Add align keyword.
libgloss/
2016-06-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* arc/crt0.S: Add align keyword.
2016-08-11 10:59:54 +02:00
Nick Clifton e6413b0a64 Add comment in the v850's crt0.S file noting that separate LMA and VMA addresses for data sections are not currently supported. 2016-05-26 12:08:47 +01:00
Anton Kolesov d1dcdb8886 arc: Have nops in _exit_halt only for ARCompact
ARCompact processors (ARC 600 and ARC 700) require three "nop"s after the
"flag 1" instruction. Later ARC processors do not have this requirement, so
it is possible to reduce size of "_exit_halt" for them.

libgloss/
2016-05-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* arc/crt0.S (_exit_halt): Insert nops only for ARCompact.
2016-05-25 12:15:51 +02:00
Anton Kolesov dd00a8e719 arc: Rework default exception handlers for ARC EM and HS
Initially crt0.S used a special function, declared as weak as a default
exception handler in interrupt vector table. To let user override individual
handlers, this function had multiple names - one for each IVT entry, which,
however, was terribly confusing for the debugger and user - because it
wasn't clear which symbol will be used as a function name in debugger.
Defining multiple separate functions - one for each handler, would resolve
the mess, but would increase code size of crt0.o.

To clean this up, this patch defines exception handlers as weak symbols as
well, but those are defined as just symbols, not functions, hence there
would be less confusion over what is what. At the same time, users still can
redefine exception handlers symbol by creating functions with respective
names.

libgloss/
2016-05-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* arc/crt0.S: Convert memory_error and friends to non-function
	  symbols.
2016-05-25 12:15:51 +02:00
Yaakov Selkowitz 6ac6e7c2bd libgloss/ft32: fix whitespace in Makefile
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-05-20 10:10:08 -05:00
Jeff Johnston d1d1378d13 Fix libgloss arc nsim specs file. 2016-05-11 12:45:55 -04:00
Jeff Johnston 3312579f44 Fix libgloss/arc/nano.specs file. 2016-05-06 15:56:46 -04:00
Jeff Johnston 5c968d849a Fix white-space in libgloss/arc/Makefile.in. 2016-05-05 12:02:29 -04:00
Jeff Johnston 11afe8f6b6 Fix support ARC processors without barrel-shifter
crt0.S for ARC used to use instruction "asr.f lp_count, r3, 2" for all cores
except ARC601. However instructions which shift more than 1 bit are
optional, so this crt0.S didn't worked for all ARC cores.

Luckily this is a shift just by 2 bits on all occassions, so fix is trivial
- use two single-bit shifts.

libgloss/ChangeLog

2016-04-29  Anton Kolesov  <anton.kolesov@synopsys.com>

        * arc/crt0.S: Fix support for processors without barrel-shifter.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
2016-05-02 12:04:40 -04:00
Jeff Johnston cd494f7038 Update crt0.S for ARC.
This is similar to commit 06537f05d4 to the
newlib for ARC.

GCC for ARC has been updated to provide consistent naming of preprocessor
definitions for different optional architecture features:

    * __ARC_BARREL_SHIFTER__ instead of __Xbarrel_shifter for
      -mbarrel-shifter
    * __ARCEM__ instead of __EM__ for ARC EM cores
    * __ARCHS__ instead of __HS__ for ARC HS cores
    * etc (not used in libgloss)

This patch updates crt0.S for ARC to use new definitions instead of a
deprecated ones. To ensure compatibility with older compiler new definitions
are also defined in crt0.S if needed, based on presence of deprecated
preprocessor definitions.

libgloss/ChangeLog

2016-04-29  Anton Kolesov  <Anton.Kolesov@synopsys.com>

        * arc/crt0.S: Use new GCC defines to detect processor features.
2016-05-02 11:58:47 -04:00
Jeff Johnston e90da68265 Add necessary infrastructure to support "nano" build of newlib.
ARC aproach to this feature is similiar to ARM's one here.

2016-04-29  Anton Kolesov  <anton.kolesov@synopsys.com>

        * arc/nano.specs: New file.
        * arc/Makefile.in: Support nano.specs.
        * arc/nsim.specs: Likewise.
2016-04-29 15:17:11 -04:00
David Hoover 5c9403eaf4 Fixed semihosting for ARM when heapinfo not provided by debugger. 2016-04-21 09:51:08 +02:00
Nick Clifton 9f664259f9 Fix typo in the name of the MSP430 attribute section of example MSP430 linker scripts. 2016-04-07 12:13:10 +01:00
Jiong Wang 18b47e05d3 Initializing TTBR0 to inner/outer WB
While running tests on internal systems, we identified an issue in the
startup code for newlib on AArch32 systems with Multiprocessor
Extensions to the architecture.

The issue is we were configuring page table flags to be Inner
cacheable/Outer non-cacheable, while for at least architectures with
Multiprocessor Extension, we'd configure it to Inner/Outer write-back, no
write-allocate, and cacheable.

The attached patch fixes this, and no regression on arm-none-eabi
bare-metal tests.

Adopted suggestion given by Richard offline to avoid using jump.

libgloss/
	* arm/cpu-init/rdimon-aem.S: Set TTBR0 to inner/outer
	cacheable WB, and no allocate on WB for arch with multiprocessor
	extension.
2016-03-26 12:45:07 +01:00
Stefan Roesch 414c8adc8b or1k: properly restore timer
Consider the function parameter for restoring the timer
2016-03-13 12:50:23 +01:00
Stefan Roesch 81ad4e656a or1k: Fix multicore stack calculation
Change the type of the stack pointers to enable pointer calculations at byte
granularity, which is needed for the calculation of _or1k_stack_core[c] and
_or1k_exception_stack_core[c] with _or1k_stack_size and
_or1k_exception_stack_size. (util.c:53-54)
2016-03-13 12:50:05 +01:00
Nick Clifton c86b2f8e93 Remove bogus LONG(0) directives from MSP430 linker scripts. 2016-03-10 10:41:13 +00:00
Nick Clifton 9676aeef0d Seperate MSP430 cio syscalls into individual function sections.
START_FUNC: New macro.
    END_FUNC: New macro.
    exit, isatty, getpid, sc2: Use the new macros.
2016-02-09 13:44:05 +00:00
Thomas Preud'homme 69f4c40291 Make macro checks ARMv8-M baseline proof
libgloss:

        * arm/Makefile.in: Add newlib/libc/machine/arm to the include path if
        newlib is present.
        * arm/arm.h: Include acle-compat.h.
        (THUMB_V7_V6M): Rename to ...
        (PREFER_THUMB): This.  Use ACLE macros __ARM_ARCH_ISA_ARM instead of
        __ARM_ARCH_6M__ to decide whether to define it.
        (THUMB1_ONLY): Define for Thumb-1 only targets.
        (THUMB_V7M_V6M): Rename to ...
        (THUMB_VXM): This.  Defined based on __ARM_ARCH_ISA_ARM, excluding
        ARMv7.
        * arm/crt0.S: Use THUMB1_ONLY rather than __ARM_ARCH_6M__,
        !__ARM_ARCH_ISA_ARM rather than THUMB_V7M_V6M for fp enabling, and
        PREFER_THUMB rather than THUMB_V7_V6M.  Rename other occurences of
        THUMB_V7M_V6M to THUMB_VXM.
        * arm/linux-crt0.c: Likewise.
        * arm/redboot-crt0.S: Likewise.
        * arm/swi.h: Likewise.
        * arm/trap.S: Likewise.

newlib:

        * libc/machine/arm/memcpy-stub.c: Use ACLE macros __ARM_ARCH_ISA_THUMB
        and __ARM_ARCH_ISA_ARM to check for Thumb-2 only targets rather than
        __ARM_ARCH and __ARM_ARCH_PROFILE.
        * libc/machine/arm/memcpy.S: Likewise.
        * libc/machine/arm/setjmp.S: Likewise for Thumb-1 only target and
        include acle-compat.h.
        * libc/machine/arm/strcmp.S: Likewise for Thumb-1 and Thumb-2 only
        target and include acle-compat.h.
        * libc/sys/arm/arm.h: Include acle-compat.h.
        (THUMB_V7_V6M): Rename to ...
        (PREFER_THUMB): This.  Use ACLE macro __ARM_ARCH_ISA_ARM instead of
        __ARM_ARCH_6M__ to decide whether to define it.
        (THUMB1_ONLY): Define for Thumb-1 only targets.
        (THUMB_V7M_V6M): Rename to ...
        (THUMB_VXM): This.  Defined based on __ARM_ARCH_ISA_ARM, excluding
        ARMv7.
        * libc/sys/arm/crt0.S: Use PREFER_THUMB rather than THUMB_V7_V6M and
        rename THUMB_V7M_V6M into THUMB_VXM.
        * libc/sys/arm/swi.h: Likewise.
2016-01-28 11:26:37 +01:00
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
Nick Clifton 324bd11706 Add a check that the data area does not overrun the stack.
* 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-27 13:30:19 +02:00
Nick Clifton baa681fd38 Adds support for placing MSP430 code and data into either low memory or high 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-05-27 13:30:19 +02:00
Mike Frysinger e6101f3008 libgloss: mcore: add custom syscall header
The mcore simulator has a unique set of syscall numbers.  Add a header
that matches reality since the common one doesn't.
2015-04-23 22:03:45 +02:00
Mike Frysinger 6803327326 libgloss: arm: fix copy & paste in syscall.h
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-23 22:03:45 +02:00
Nick Clifton cd0d459135 For the RX port, avoid using string instructions when __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-23 21:57:13 +02:00
Nick Clifton 45d0b17928 Add .note and DWARF3 sections to RX linker scripts.
* rx/rx.ld: Add .note and DWARF3 sections.
	* rx/rx-sim.ld: Likewise.
2015-04-23 21:57:13 +02:00
Nick Clifton 61a2d9dedb Always include the .csstart section in RL78 executables.
* rl78/rl78.ld (.csstart): Add a KEEP directive.
	* rl78/rl78-sim.ld (.csstart): Add a KEEP directive.
2015-04-23 21:57:12 +02:00
Nick Clifton e185d3febe * v850/sim.ld: Add a .note.renesas section. 2015-03-05 11:26:59 +00:00
Corinna Vinschen 8d98f956cc * arm/crt0.S: Initialise __heap_limit when ARM_RDI_MONITOR is defined.
* arm/syscalls.c: define __heap_limit global symbol.
	* arm/syscalls.c (_sbrk): Honour __heap_limit.
2015-02-17 09:30:52 +00:00
Corinna Vinschen 19e714bcee * or1k/or1k_uart.c: Write bugfix and cleanup/documentation.
* or1k/or1k_uart.h: Cleanup.
2015-02-11 13:33:40 +00:00
Yaakov Selkowitz 5ae2368e92 * sparc/crt0.S: Declare use of system registers.
* sparc/cygmon-crt0.S: Ditto.
* sparc/erc32-crt0.S: Ditto.
* sparc/traps.S: Ditto.
2015-01-22 17:38:39 +00:00
Eric Botcazou bf8f43ae8a * COPYING.LIBGLOSS: Add Controls and Data Services copyright.
* 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-21 18:27:47 +00:00
DJ Delorie a098aad30b * rl78/crt0.S: Initialize .saddr. Avoid using SEL.
* 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-20 18:43:36 +00:00
DJ Delorie 70e52cba1b * rl78/crt0.S: Initialize .saddr. Avoid using SEL.
* 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 22:21:34 +00:00
Corinna Vinschen f91272b8c2 * or1k/include/or1k-sprs.h: New auto-generated header file. 2015-01-14 09:56:02 +00:00
Jeff Johnston ba913653a6 2015-01-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* lm32/Makefile.in (install): Respect DESTDIR.
        (install-scripts): Ditto.
        * mep/Makefile.in (install): Ditto.
        * mt/Makefile.in (install): Ditto.
        * rl78/Makefile.in (install): Ditto.
2015-01-05 17:36:34 +00:00
Anthony Green 47c98af2ba The moxie sub.l instruction is now just sub. 2014-12-27 12:18:56 +00:00
Jeff Johnston ab42ec30e6 2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* 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-15 20:22:28 +00:00
Jeff Johnston 68a9101237 2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* 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-15 20:17:39 +00:00
Jeff Johnston d1219c0e89 2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* 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 20:09:28 +00:00
Corinna Vinschen d4ef8a6368 * libgloss/nds32/_exit.S: Finish with an infinite loop in _exit.
* 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-15 13:30:07 +00:00
Anthony Green 070d1cee7d Rebuilt moxie/configure 2014-12-11 11:54:44 +00:00
Corinna Vinschen b3281dd194 * mips/crt0.S: Configure processor based on .MIPS.abiflags.
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-28 08:51:03 +00:00
Jeff Johnston 84b2a020da 2014-11-26 Matthew Fortune <Matthew.Fortune@imgtec.com>
* 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-27 00:28:09 +00:00
Nick Clifton b7d6a7c805 * msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o.
* 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-11-13 10:18:57 +00:00
DJ Delorie 787fa74125 2014-10-22 Tim Harder <radhermit@gmail.com>
* msp430/Makefile.in: respect DESTDIR during install
2014-10-23 01:49:49 +00:00
Nick Clifton c30356443e * configure.in: Remove config_libnosys=false
* configure: Regenerated.
	* msp430/nosyscalls.S: Rename to ciosyscalls.S
	* msp430/Makefile.in: Change LIBNOSYS to LIB_CIO.
2014-09-22 15:26:46 +00:00
Corinna Vinschen 1b580c732a Add missing file from last patch 2014-08-15 10:52:38 +00:00
Corinna Vinschen 433de33ec2 * arm/elf-nano.specs: New file.
* arm/elf-rdimon.specs: Support nano.specs.
	* arm/Makefile.in: Support nano.specs.
	* libnosys/nosys.specs: Support nano.specs.
2014-08-14 15:00:33 +00:00
Anthony Green ca6a65aa64 Fix typo in previous commit 2014-07-28 05:23:30 +00:00
Anthony Green 0a0f33e501 Add moxiebox support. 2014-07-27 14:37:10 +00:00
Corinna Vinschen 844557c9ed * arm/elf-aprofile-validation.specs (*link): Make text segment
64k-aligned.
	* arm/elf-aprofile-ve.specs (*link): Likewise.
2014-07-16 11:53:34 +00:00
Nick Clifton 179e25f0df * msp430/Makefile.in (NOSYS_OBJS): Add unlink.o.
(SCRIPTS): Remove msp430F5438A-s.ld and msp430F5438A-s.ld.
	* unlink.c: New file.
2014-04-30 11:30:14 +00:00
Jeff Johnston d83d5c7d7b 2014-04-04 Ashish Kapania <akapania@ti.com>
* arm/configure.in: (*-*-tirtos*) Accept TIRTOS target when setting
        objtype
        * arm/configure: Regenerated.
2014-04-04 21:43:55 +00:00
Jeff Johnston e669b401f7 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/_sbrk.S: Add .size and .type directive.
2014-03-21 21:17:43 +00:00
Jeff Johnston c94fff60f1 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Tweak initialization sqeuence.
        * nds32/crt1.S: Ditto.
2014-03-21 21:16:40 +00:00
Jeff Johnston 23cf8028ec 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/_argv.S: Replace syscall with break.
        * nds32/_argvlen.S: Ditto.
        * nds32/_chdir.S: Ditto.
        * nds32/_chmod.S: Ditto.
        * nds32/_close.S: Ditto.
        * nds32/_exit.S: Ditto.
        * nds32/_fstat.S: Ditto.
        * nds32/_getpid.S: Ditto.
        * nds32/_gettimeofday.S: Ditto.
        * nds32/_isatty.S: Ditto.
        * nds32/_kill.S: Ditto.
        * nds32/_link.S: Ditto.
        * nds32/_lseek.S: Ditto.
        * nds32/_open.S: Ditto.
        * nds32/_read.S: Ditto.
        * nds32/_rename.S: Ditto.
        * nds32/_stat.S: Ditto.
        * nds32/_system.S: Ditto.
        * nds32/_time.S: Ditto.
        * nds32/_times.S: Ditto.
        * nds32/_unlink.S: Ditto.
        * nds32/_utime.S: Ditto.
        * nds32/_write.S: Ditto.
        * nds32/syscall_error_handler.S: Ditto.
        * nds32/vh.h: New.
2014-03-21 21:02:52 +00:00
Jeff Johnston e59026e844 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Initialize ITB base.
        * nds32/crt1.S: Ditto.
2014-03-21 20:58:54 +00:00
Jeff Johnston 31b1f3e55f 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/Makefile.in: Alter filename.
        * nds32/syscall_argv.S: Rename to _argv.S
        * nds32/syscall_argvlen.S: Rename to _argvlen.S
        * nds32/syscall_chdir.S: Rename to _chdir.S
        * nds32/syscall_chmod.S: Rename to _chmod.S
        * nds32/syscall_close.S: Rename to _close.S
        * nds32/syscall_exit.S: Rename to _exit.S
        * nds32/syscall_fstat.S: Rename to _fstat.S
        * nds32/syscall_getpid.S: Rename to _getpid.S
        * nds32/syscall_gettimeofday.S: Rename to _gettimeofday.S
        * nds32/syscall_isatty.S: Rename to _isatty.S
        * nds32/syscall_kill.S: Rename to _kill.S
        * nds32/syscall_link.S: Rename to _link.S
        * nds32/syscall_lseek.S: Rename to _lseek.S
        * nds32/syscall_open.S: Rename to _open.S
        * nds32/syscall_read.S: Rename to _read.S
        * nds32/syscall_rename.S: Rename to _rename.S
        * nds32/syscall_sbrk.S: Rename to _sbrk.S
        * nds32/syscall_stat.S: Rename to _stat.S
        * nds32/syscall_system.S: Rename to _system.S
        * nds32/syscall_time.S: Rename to _time.S
        * nds32/syscall_times.S: Rename to _times.S
        * nds32/syscall_unlink.S: Rename to _unlink.S
        * nds32/syscall_utime.S: Rename to _utime.S
        * nds32/syscall_write.S: Rename to _write.S
2014-03-21 20:55:57 +00:00
Jeff Johnston 8194dcec36 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/syscall_argv.S: Correct the method to set errno.
        * nds32/syscall_argvlen.S: Ditto.
        * nds32/syscall_chdir.S: Ditto.
        * nds32/syscall_chmod.S: Ditto.
        * nds32/syscall_close.S: Ditto.
        * nds32/syscall_error_handler.S: Ditto.
        * nds32/syscall_fstat.S: Ditto.
        * nds32/syscall_getpid.S: Ditto.
        * nds32/syscall_gettimeofday.S: Ditto.
        * nds32/syscall_isatty.S: Ditto.
        * nds32/syscall_kill.S: Ditto.
        * nds32/syscall_link.S: Ditto.
        * nds32/syscall_lseek.S: Ditto.
        * nds32/syscall_open.S: Ditto.
        * nds32/syscall_read.S: Ditto.
        * nds32/syscall_rename.S: Ditto.
        * nds32/syscall_sbrk.S: Ditto.
        * nds32/syscall_stat.S: Ditto.
        * nds32/syscall_system.S: Ditto.
        * nds32/syscall_time.S: Ditto.
        * nds32/syscall_times.S: Ditto.
        * nds32/syscall_unlink.S: Ditto.
        * nds32/syscall_utime.S: Ditto.
        * nds32/syscall_write.S: Ditto.
2014-03-21 20:34:46 +00:00
Jeff Johnston 488d885bf3 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Use pseudo-instruction "bal frame" to replace
        "la + jral".
        * nds32/crt1.S: Ditto.
2014-03-21 20:27:41 +00:00
Jeff Johnston d35d103f08 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Eliminate initialization for $fp.
        * nds32/crt1.S: Ditto.
2014-03-21 20:26:01 +00:00
Jeff Johnston b899f01579 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Refine.
        * nds32/crt1.S: Refine.
2014-03-21 20:24:04 +00:00
Jeff Johnston 5ff6903e69 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/crt0.S: Set argc=argv=env=0.
        * nds32/crt1.S: Ditto.
2014-03-21 20:22:29 +00:00
Jeff Johnston 7f4230bdc8 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/Makefile.in: Add syscall_error_handler.o.
        * nds32/syscall_error_handler.S: New.
        * nds32/syscall_extra.h: Reduce code size.
2014-03-21 20:20:53 +00:00
Jeff Johnston 9246fbeced 2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
* nds32/syscall_extra.h: Define macro.
        * nds32/syscall_argv.S: Use define macro.
        * nds32/syscall_argvlen.S: Ditto.
        * nds32/syscall_chdir.S: Ditto.
        * nds32/syscall_chmod.S: Ditto.
        * nds32/syscall_close.S: Ditto.
        * nds32/syscall_fstat.S: Ditto.
        * nds32/syscall_getpid.S: Ditto.
        * nds32/syscall_gettimeofday.S: Ditto.
        * nds32/syscall_isatty.S: Ditto.
        * nds32/syscall_kill.S: Ditto.
        * nds32/syscall_link.S: Ditto.
        * nds32/syscall_lseek.S: Ditto.
        * nds32/syscall_open.S: Ditto.
        * nds32/syscall_read.S: Ditto.
        * nds32/syscall_rename.S: Ditto.
        * nds32/syscall_stat.S: Ditto.
        * nds32/syscall_system.S: Ditto.
        * nds32/syscall_time.S: Ditto.
        * nds32/syscall_times.S: Ditto.
        * nds32/syscall_unlink.S: Ditto.
        * nds32/syscall_utime.S: Ditto.
        * nds32/syscall_write.S: Ditto.
2014-03-21 20:16:14 +00:00
Jeff Johnston 065c7717b7 2014-02-27 Joey Ye <joey.ye@arm.com>
* libnosys/sbrk.c (_sbrk): Remove TWS
2014-03-04 17:39:26 +00:00
Jeff Johnston 6a7a80d83c 2014-02-11 Joey Ye <joey.ye@arm.com>
* arm/syscalls.c (_sbrk): Define as weak symbols.
        (_read, _write): Ditto.
2014-02-11 19:55:22 +00:00
Richard Earnshaw 75d1027ccd * aarch64/Makefile.in (RDIMON_SCRIPTS): Rule to build in-tree copies
of scripts.
	(all): Build the in-tree copies of the scripts.
	(clean): Also delete the in-tree copies of the scripts.
2014-02-03 10:30:34 +00:00
DJ Delorie ed94d4a4aa * msp430/Makefile.in (crt0-minrt.o, crtn-minrt.o): New. Build
from crt0.S with -DMINRT.
(CRT_OBJS): Expand.
(crt_%.o): New rule pattern.  Build multiple objects from crt0.S.
* msp430/crt0.S: Further break out functionality.  Support -DMINRT
that omits all init/fini logic.
* msp430/crtn.S: Likewise.
* msp430/msp430-sim.ld: Wildcard all .crt_* sections, sorted.
* msp430/msp430.ld: Likewise.
* msp430/msp430xl-sim.ld: Likewise.
2014-01-30 02:46:34 +00:00
Corinna Vinschen 645ec39159 * aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Use bic-immediate
form to clear WXN bit.
2014-01-28 11:16:19 +00:00
Jeff Johnston 0388ee3d90 2014-01-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Clear WXN bit
        in SCTLR_EL3. Add dsb.
2014-01-24 19:01:15 +00:00
Jeff Johnston 9a0786ea68 2014-01-10 Jeff Johnston <jjohnstn@redhat.com>
* arm/configure.in: Revert previous fix and change host_makefile_frag
        to calculate the absolute location of srcdir/../config/default.mh.
        * arm/configure: Regenerated.
2014-01-10 23:04:01 +00:00
Jeff Johnston 847980a43b 2014-01-07 Jeff Johnston <jjohnstn@redhat.com>
* arm/configure.in: Fix host_makefile_frag to use ac_abs_srcdir.
        * arm/configure: Regenerated.
2014-01-07 22:41:38 +00:00
Steve Ellcey 2f8a6f1947 2013-12-04 Steve Ellcey <sellcey@mips.com>
* mips/cfe_api.h: Include stdint.h.
2013-12-04 21:18:02 +00:00
Joel Sherrill c9e978ed1b 2013-11-21 Daniel Ramirez <javamonn@gmail.com>
* d30v/syscalls.c, i960/mon960.c, m68k/io-stat.c, mt/stat.c,
	spu/lstat.c, spu/stat.c: Add restrict keyword.
2013-11-21 16:42:17 +00:00
Marcus Shawcroft 37d3b04f88 [AArch64] Set errno in ftruncate() and truncate(). 2013-11-21 15:53:52 +00:00
Marcus Shawcroft eee6552c95 [ARM] set errno in ftruncate and truncate stubs. 2013-11-21 15:49:05 +00:00
Marcus Shawcroft 7c62befe16 [AArch64] Provide ftruncate() and truncate() stubs. 2013-11-18 10:04:56 +00:00
Marcus Shawcroft c709105913 [ARM] Provide ftruncate() and truncate() stubs. 2013-11-18 09:53:46 +00:00
Richard Earnshaw 639951dda7 2013-10-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* arm/cpu-init/rdimon-aem.S: Disable for M class cores.
	* arm/crt0.S: Don't call _rdimon_hw_init_hook for non-A class cores.
	* arm/cpu-init/Makefile.in (CPU_INIT_OBJS): Use CFLAGS.
2013-10-14 15:15:12 +00:00
Jeff Johnston 05a8ad9f72 2013-09-30 Steve Ellcey <sellcey@mips.com>
* mips/Makefile.in (install): Add mkdir, fix install command.
2013-09-30 18:44:25 +00:00
Marcus Shawcroft 1dafbdd853 [ARM] Add SPECS file for ARM validation model. 2013-09-27 15:40:39 +00:00
Richard Earnshaw 99be2bc4ff 2013-09-20 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Greta Yorsh  <greta.yorsh@arm.com>

	* arm/Makefile.in: Add support for cpu-init directory and add
	elf-aprofile-ve.specs.
	* arm/configure.in: Likewise.
	* arm/configure: Regenerate.
	* arm/cpu-init: New directory.
	* arm/cpu-init/Makefile.in: New file.
	* arm/cpu-init/rdimon-aem.S: Likewise.
	* arm/crt0.S: Call _rdimon_init_hook
	* arm/elf-aprofile-ve.specs: New file.
2013-09-20 14:23:41 +00:00
Nick Clifton 796a9241b3 * msp430/Makefile.in (SCRIPTS): Add intr_vectors.ld.
(LIB_CRT): New.
	(CRT_OBJS): New.
	(all): Add dependency upon LIB_CRT.
	(install): Likewise.
	* msp430/msp430-sim.ld: Include intr_vectors.ld.
	KEEP crt code, lowtext code and tm_clone_table.
	Separate the noinit section from the .bss section.
	Allow for extended .debug_line sections.
	* msp430/msp430.ld: Likewise.
	* msp430/msp430F5438A-l.ld: Likewise.
	* msp430/msp430F5438A-s.ld: Likewise.
	* msp430/msp430xl-sim.ld: Likewise
.	* msp430/crt_movedata.S: New.
	* msp430/crt_bss.S: New.
	* msp430/intr_vectors.ld: New.
2013-09-18 07:38:13 +00:00
Jeff Johnston 5bff53b4f7 2013-09-17 Joey Ye <joey.ye@arm.com>
* libnosys/Makefile.in: Install nosys.specs.
        * libnosys/nosys.specs: New specs.
2013-09-17 20:36:08 +00:00
Corinna Vinschen c389cb11b8 Fix space 2013-08-12 11:29:07 +00:00
Corinna Vinschen 387b584725 * aarch64/crt0.S: Remove 'start'.
* arm/crt0.S: Ditto.
	* arm/redboot-crt0.S: Ditto.
2013-08-12 11:27:37 +00:00
Steve Ellcey 2dc32f6ae4 2013-07-24 Steve Ellcey <sellcey@mips.com>
* mips/idtmon.S (unlink, lseek, stat): Add new functions.
2013-07-24 22:32:51 +00:00
Corinna Vinschen 2635a8d6df * microblaze/_exception_handler.S: Adjust to be weak.
* microblaze/Makefile.in: Add LINUX_BSP.
	* microblaze/elf-gloss-linux.ld: New file.
	* microblaze/elf-gloss-linux.specs: Likewise.
	* microblaze/linux-crt0.S: Likewise.
	* microblaze/linux-inbyte.c: Likewise.
	* microblaze/linux-outbyte.c: Likewise.
	* microblaze/linux-syscalls-wrap.c: Likewise.
	* microblaze/linux-syscalls.S: Likewise.
	* microblaze/linux-syscalls.h: Likewise.
2013-07-23 09:11:18 +00:00
Yaakov Selkowitz 38f2cb2c41 * lm32/configure: Regenerate.
* moxie/configure: Ditto.
* spu/configure: Ditto.
2013-07-17 06:14:27 +00:00
Corinna Vinschen 971a6c70a3 * microblaze/Makefile.in: Add GENOBJS and target_makefile_frag.
* microblaze/configure.in: Add target_makefile_frag.
	* microblaze/configure: Regenerate.
	* microblaze/xil_printf.c: Add new file.
2013-07-16 07:55:45 +00:00
Corinna Vinschen 6041792ec6 * configure.host: Change to microblaze*.
* libc/include/machine/ieeefp.h: Add __MICROBLAZEEL__.
	* libc/machine/microblaze/mb_endian.h: New file.
	* newlib/libc/machine/microblaze/strcmp.c: Add little endian support.
	* newlib/libc/machine/microblaze/strcpy.c: Likewise.
	* newlib/libc/machine/microblaze/strlen.c: Likewise.

	* configure.in: Change to microblaze*.
	* configure: Regenerate.
	* microblaze/xilinx.ld: Remove OUTPUT_FORMAT.
2013-07-16 07:48:53 +00:00
Marcus Shawcroft 81fc3e842a [AArch64] Ensure vector table is page aligned.
2013-07-12  Marcus Shawcroft  <marcus.shawcroft@arm.com>

        * aarch64/cpu-init/rdimon-aem-el3.S (vectors): Page align.
2013-07-12 09:42:46 +00:00
Jeff Johnston bdf683b1c8 2013-07-09 Sabrina Ni <sabrina@andestech.com>
* configure.in: Add nds32 subdir.
        * configure: Regenerated.
        * nds32/configure.in: New.
        * nds32/configure: New (autogenerated).
        * nds32/{crt0.S,crt1.S}: New.
        * nds32/Makefile.in: New.
        * nds32/{syscall_argvlen.S,syscall_argv.S,
        syscall_chdirS, syscall_chmod.S,
        syscall_close.S,syscall_exit.S,syscall_extra.h, syscall_fstat.S,
        syscall_getpid.S,syscall_gettimeofday.S,syscall_isatty.S,syscall_kill.S,
        syscall_link.S,syscall_lseek.S,syscall_open.S,syscall_read.S,
        syscall_rename.S,syscall_sbrk.S,syscall_stat.S,syscall_system.S,
        syscall_time.S,syscall_times.S,syscall_unlink.S,syscall_utime.S,
        syscall_write.S}: New.
2013-07-09 19:16:25 +00:00
Corinna Vinschen a5be77b2fe * aarch64/syscalls.c (stack_ptr): Defined with asm ("wsp") if __ILP32__
is defined.
2013-07-04 10:21:52 +00:00
Jeff Johnston 2404223df6 2013-07-02 Joey Ye <joey.ye@arm.com>
* arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini
        when lite exit is enabled.
2013-07-02 21:34:35 +00:00
Corinna Vinschen b5cfad0bf1 * aarch64/syscalls.c (POINTER_TO_PARAM_BLOCK_T): New macro.
(initialise_monitor_handles): Replace cast with macro
	POINTER_TO_PARAM_BLOCK_T.
	(_swiread): Likewise.
	(_swiwrite): Likewise.
	(_swiopen): Likewise.
	(_unlink): Likewise.
	(_system): Likewise.
	(_rename): Likewise.
2013-06-28 09:34:46 +00:00
Corinna Vinschen 15b1ed6dc7 * aarch64/crt0.S (GEN_DWORD): New macro definition.
(PTR_REG): Ditto.
	(PTR_SIZE): Ditto.
	(PTR_LOG_SIZE): Ditto.
	(start): Use GEN_DWORD to replace the .dword of HeapBase,
	__bss_start__, __bss_end__, FUNCTION(_fini), env and
	CommandLine; when __ILP32__ is defined, set the stack base to
	the top end of the 32-bit address space if the returned value
	from the Angel API call is larger than or equal to 4 GiB.
	Also carry out sanity check on the heap base; abort if the
	base is larger than or equal to 4 GiB.  Use other new
	macros in the instructions that processes the argv arrays.
	(StackBase): New lable; replace __stack_base__.
	(__stack_base__): Set with StackBase or StackBase + 4.
2013-06-25 12:06:15 +00:00
Jeff Johnston 6d28d61df0 2013-05-30 Jeff Johnston <jjohnstn@redhat.com>
* rs6000/Makefile.in: Add sim-times support.  This file has been
        moved from newlib/libc/machine/powerpc and renamed.
        * rs6000/sim-times.c: New file.
2013-05-30 22:44:04 +00:00
DJ Delorie 2f2a304234 [newlib]
* configure.host (msp430): Add.
* libc/include/machine/ieeefp.h: Add MSP430 support.
* libc/include/machine/setjmp.h: Likewise.
* libc/include/sys/config.h: Likewise.
* libc/machine/configure.in (msp430): Add.
* libc/machine/configure: Regenerate.
* libc/machine/msp430: New directory.

[libgloss]
* configure.in (msp430*-*-elf): Add.
* configure: Regenerate.
* msp430: New directory.
2013-05-13 21:39:51 +00:00
Steve Ellcey c22112f61a 2013-04-19 Steve Ellcey <sellcey@imgtec.com>
* mips/cfe_api.h (int64_t): Remove define.
	(uint64_t): Remove define.
	(intptr_t): Remove define.
	(uintptr_t): Remove define.
	(sys/types.h): Remove include.
	(_ansi.h): Remove include.
2013-04-19 22:06:34 +00:00
Marcus Shawcroft 289a9a6d9b [AArch64] Honour CFLAGS.
2013-04-19  Yufeng Zhang  <yufeng.zhang@arm.com>

	* aarch64/Makefile.in (rdimon-crt0.o, rdimon-trap.o)
	(rdimon-_exit.o, rdimon-_kill.o, rdimon-syscalls.o)
	(rdimon-libcfunc.o): Add $(CFLAGS) to the compiler command line.
	* aarch64/cpu-init/Makefile.in (${CPU_INIT_OBJS}): Add $(CFLAGS)
	to the compiler command line.
2013-04-19 14:24:45 +00:00
Corinna Vinschen 6cb2bb7166 Fix wrongly applied patch 2013-02-12 15:26:30 +00:00
Corinna Vinschen 6fb8fc9012 * libgloss/rx/Makefile.in: Respect DESTDIR when installing 2013-02-11 08:28:46 +00:00
Corinna Vinschen 29507fecb4 * arm/elf-rdimon.specs (-lrdimon): Change link to lib. 2013-02-10 11:57:51 +00:00
Nick Clifton 92825fd954 * crt0.S: Add recognition of the e3v5 architecture variant. 2013-02-01 08:29:04 +00:00
Marcus Shawcroft 761dfa99ba Correcting my previous commit.
In my previous commit I forget to cvs add two new files, this commit
corrects my mistake.
2013-01-22 09:49:27 +00:00
Marcus Shawcroft 085461c3ec 2013-01-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
* aarch64/Machine.in (RDIMON_SCRIPTS):
        Add aem-ve.specs and aem-validation.specs.
        * aarch64/elf-aem-validation.specs: New file.
        * aarch64/elf-aem-ve.specs: New file.
2013-01-18 15:52:32 +00:00
Nick Clifton 7d88a8d373 * libc/sys/sysnecv850/crt0.S (_start): Enable FPU for the
V850e2v3.
	* v850/crt0.S (_start): Enable FPU for the V850e2v3.
2013-01-15 15:41:31 +00:00
Jeff Johnston 24fb7750f3 2012-12-17 Stuart Henderson <shenders@gcc.gnu.org>
* bfin/Makefile.in: Add BF60x support.
	* bfin/basiccrt.S: Add core1 support.
	* bfin/bf606.ld: New file.
	* bfin/bf606c0.ld: New file.
	* bfin/bf606c1.ld: New file.
	* bfin/bf606m.ld: New file.
	* bfin/bf607.ld: New file.
	* bfin/bf607c0.ld: New file.
	* bfin/bf607c1.ld: New file.
	* bfin/bf607m.ld: New file.
	* bfin/bf608.ld: New file.
	* bfin/bf608c0.ld: New file.
	* bfin/bf608c1.ld: New file.
	* bfin/bf608m.ld: New file.
	* bfin/bf609.ld: New file.
	* bfin/bf609c0.ld: New file.
	* bfin/bf609c1.ld: New file.
	* bfin/bf609m.ld: New file.
	* bfin/bfin-common-mc0.ld: New file.
	* bfin/include/cdefBF606.h : New file.
	* bfin/include/cdefBF607.h : New file.
	* bfin/include/cdefBF608.h : New file.
	* bfin/include/cdefBF609.h : New file.
	* bfin/include/defBF606.h : New file.
	* bfin/include/defBF607.h : New file.
	* bfin/include/defBF608.h : New file.
	* bfin/include/defBF609.h : New file.
	* bfin/include/sys/_adi_platform.h: Add BF60x support.
	* bfin/include/sys/anomaly_macros_rtl.h : Clean up.
2012-12-17 17:44:38 +00:00
Corinna Vinschen 77a74ed692 * aarch64/configure.in: Replace the direct generation of
cpu-init/Makefile.in with AC_CONFIG_SUBDIRS(cpu-init).
	* aarch64/configure: Re-generate.
	* aarch64/cpu-init/Makefile.in (objtype): Remove.
	(Makefile, config.status): Update the rules.
	* aarch64/cpu-init/aclocal.m4: New file (generated).
	* aarch64/cpu-init/configure.in: New file.
	* aarch64/cpu-init/configure: New file (generated).
2012-11-23 10:43:31 +00:00
Anthony Green a910b33ad2 Minor debugging aid for the moxie port. 2012-10-27 19:41:18 +00:00
Anthony Green ffa2dd6787 Minor optimization and bug fix for moxie. 2012-10-27 15:57:12 +00:00
DJ Delorie 2b74bec6c9 * libc/machine/rl78/setjmp.S: Convert from CPP macros to GAS
macros, to avoid dependence on the line separation character.

* rl78/crt0.S (_interrupt_vector_table): Convert from CPP macros
to GAS macros, to avoid dependence on the line separation
character.
2012-10-03 20:24:50 +00:00
DJ Delorie 13ab44c05b * libc/sys/sysnecv850/sbrk.c (_sbrk): Change heap_start to be an
array of undefined size, to avoid problems when compiled with
-msda=4.

* v850/sbrk.c (_sbrk): Change heap_start to be an array of
undefined size, to avoid problems when compiled with -msda=4.
2012-10-02 22:55:10 +00:00