Commit Graph

82 Commits

Author SHA1 Message Date
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
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
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
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 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
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
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 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
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
Marcus Shawcroft eee6552c95 [ARM] set errno in ftruncate and truncate stubs. 2013-11-21 15:49:05 +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
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
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
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 6cb2bb7166 Fix wrongly applied patch 2013-02-12 15:26:30 +00:00
Corinna Vinschen 29507fecb4 * arm/elf-rdimon.specs (-lrdimon): Change link to lib. 2013-02-10 11:57:51 +00:00
Corinna Vinschen 03cd7bbbb1 * arm/redboot-crt0.S (__change_mode): Replace mov with movs. 2012-05-02 08:09:45 +00:00
Corinna Vinschen c3a549f687 * arm/linux-crt0.c: Use ldr instead of adr to get address of
_start_thumb.
2012-01-17 10:03:40 +00:00
Jeff Johnston 50e970d1b1 2011-12-13 Richard Earnshaw <rearnsha@arm.com>
Thomas Klein  <th.r.klein@web.de>

        * arm/crt0.S: Manually set the target architecture
        when compiling for Thumb1 on EABI targets.
        Avoid v6-only Thumb-1 MOV instruction.
2011-12-13 22:45:12 +00:00
Nick Clifton 5b495afe51 * arm/crt0.s: Support 0 heap base response from HeapInfo syscall. 2011-09-29 11:23:29 +00:00
Nick Clifton 29deef8805 * arm/arm.h (HAVE_CALL_INDIRECT): Define.
* arm/crt0.S (indirect_call): New macro.  Encodes indirect
	function calls.  Does not use blx for pre-armv5 targets.
2011-09-29 11:06:49 +00:00
Nick Clifton 415e1ecce4 * arm/crt0.S: Support armv6-m processors in libgloss.
* arm/swi.h: Likewise.
	* arm/trap.S: Likewise.
	* arm/redboot-crt0.S: Likewise.
	* arm/linux-crt0.c: Likewise.
	* arm/arm.h: New.
2011-07-13 15:06:21 +00:00
Jeff Johnston 53ffbf09d5 2011-06-29 Jeff Johnston <jjohnstn@redhat.com>
* arm/Makefile.in: Add $CFLAGS to compile commands for specified .o targets.
2011-06-29 15:32:09 +00:00
Corinna Vinschen 95c929196b * syscalls.c (_isatty): Fix return value. 2010-08-27 11:55:36 +00:00
Nick Clifton f7e0cae24b * arm/linux-syscalls0.S (SYSCALL0, SYSCALL3, SYSCALL6, SYSCALL4):
Delete Thumb definitions - the ARM versions work correctly in
        Thumb mode.
2009-10-26 10:00:41 +00:00
Jeff Johnston 455e95b5bd 2008-10-06 Bill Tompkins <bill+newlib@key-square.com>
* arm/crt0.S: Fix calling hardware_init_hook() or software_init_hook()
        under thumb and thumb2.
2008-10-06 20:55:19 +00:00
Nick Clifton 026f9d290f * libc/machine/arm/setjmp.S: Fix thumb2 support.
* arm/crt0.S: Allow assembly under ARMv7 ISA.  Support for
            initializing stack pointers for interrupt modes is still pending.
2008-04-25 09:02:40 +00:00
DJ Delorie 6f810581fb [newlib]
* libm/machine/spu/configure: Regenerate with autoconf 2.61.
	* libc/sys/configure: Regenerate with autoconf 2.61.
	* libc/machine/configure: Regenerate with autoconf 2.61.
[libgloss]
	* hp74x/configure: Regenerate with autoconf 2.61.
	* fr30/configure: Regenerate with autoconf 2.61.
	* mips/configure: Regenerate with autoconf 2.61.
	* xstormy16/configure: Regenerate with autoconf 2.61.
	* rs6000/configure: Regenerate with autoconf 2.61.
	* d30v/configure: Regenerate with autoconf 2.61.
	* i386/configure: Regenerate with autoconf 2.61.
	* configure: Regenerate with autoconf 2.61.
	* wince/configure: Regenerate with autoconf 2.61.
	* pa/configure: Regenerate with autoconf 2.61.
	* m32r/configure: Regenerate with autoconf 2.61.
	* mn10200/configure: Regenerate with autoconf 2.61.
	* iq2000/configure: Regenerate with autoconf 2.61.
	* cris/configure: Regenerate with autoconf 2.61.
	* m68k/configure: Regenerate with autoconf 2.61.
	* spu/configure: Regenerate with autoconf 2.61.
	* m32c/configure: Regenerate with autoconf 2.61.
	* mn10300/configure: Regenerate with autoconf 2.61.
	* i960/configure: Regenerate with autoconf 2.61.
	* arm/configure: Regenerate with autoconf 2.61.
	* libnosys/configure: Regenerate with autoconf 2.61.
	* m68hc11/configure: Regenerate with autoconf 2.61.
	* bfin/configure: Regenerate with autoconf 2.61.
	* crx/configure: Regenerate with autoconf 2.61.
	* mt/configure: Regenerate with autoconf 2.61.
	* sparc/configure: Regenerate with autoconf 2.61.
	* sparc/libsys/configure: Regenerate with autoconf 2.61.
	* mcore/configure: Regenerate with autoconf 2.61.
	* mep/configure: Regenerate with autoconf 2.61.
	* frv/configure: Regenerate with autoconf 2.61.
	* doc/configure: Regenerate with autoconf 2.61.
2008-04-04 21:52:01 +00:00
Jeff Johnston 277723722f 2008-01-03 Jeff Johnston <jjohnstn@redhat.com>
* arm/redboot-syscalls.c: Consistently supply _isatty if syscalls
        dir is used in newlib.
        * bfin/syscalls.c: Ditto.
        * cris/gensyscalls: Ditto.
        * fr30/syscalls.c: Ditto.
        * frv/isatty.c: Ditto.
        * iq2000/isatty.c: Ditto.
        * libnosys/isatty.c: Ditto.
        * m32r/isatty.c: Ditto.
        * mn10200/isatty.c: Ditto.
        * mn10300/isatty.c: Ditto.
        * xstormy16/isatty.c: New file with _isatty function.
2008-01-03 22:38:31 +00:00
Jeff Johnston a9a6f94229 2007-08-13 Carlos O'Donell <carlos@codesourcery.com>
* arm/crt0.S: Remove '.set' for __stack, hardware_init_hook,
	and software_init_hook.
2007-08-13 18:13:39 +00:00
Jeff Johnston 847e89f8e1 2007-08-10 Carlos O'Donell <carlos@codesourcery.com>
2007-07-12  Daniel Jacobowitz  <dan@codesourcery.com>

        * arm/syscalls.c (_stat): Use _close

        * arm/syscalls.c (struct poslog): Rename to...
        (struct fdent): ... this.
        (FILE_HANDLE_OFFSET): Remove.
        (findslot): Return a struct fdent* if fd is valid, otherwise return NULL.
        (newslot): New function.
        (remap_handle): Remove.
        (initialise_monitor_handles): Use stdout as fallback for stderr.
        (wrap): Rename to...
        (checkerror): ...  this.
        (_swiread): Use checkerror() for the return of SWI calls.  Correct the use of r0.
        (_read): Use findslot().  Return EBADF on bad handle.
        (_swilseek): Call findslot().  Check for valid whence.  Check for negative offset when using
        SEEK_CUR, and check for overflow.  Use checkerror().  Check *_Flen calls for errors.
        (_swiwrite): Correct the use of r0.
        (_write): Call findslot().
        (_swiopen): Call findslot().  Check for valid flags.  Use checkerror().  Call newslot().
        Handle O_TRUNC, and O_WRONLY.  Return index into openfiles[] for fd.
        (_swiclose): Correct the use of r0.
        (_close): Handle stderr == stdout case.  Only reclaim handle if _swiclose succeeded.
        (_getpid): Use __attribute__((unused)).
        (_sbrk): Fix formatting.
        (_swistat): New function.
        (_stat): Call _swistat().
        (_fstat): Call _swistat().
        (_unlink): Correct the use of r0.
        (isatty): Call finslot().  Correct the use of r0.
        (_system): Call checkerror().  Correct the use of r0.
        (_rename): Correct the use of r0.
2007-08-10 19:36:46 +00:00
Jeff Johnston de229adb1a 2007-07-06 Jeff Johnston <jjohnstn@redhat.com>
* arm/syscalls.c (gettimeofday): Change to POSIX signature
        where second argument is passed as void *.
        * bfin/syscalls.c (gettimeofday): Ditto.
        * cris/gensyscalls (gettimeofday): Ditto.
        * cris/linunistd.h (gettimeofday): Ditto.
        * crx/time.c (gettimeofday): Ditto.
        * frv/sim-time.c (gettimeofday): Ditto.
        * i386/cygmon-salib.c (gettimeofday): Ditto.
        * libnosys/gettod.c (gettimeofday): Ditto.
        * m68k/io-gettimeofday.c (gettimeofday): Ditto.
        * sparc/cygmon-salib.c (gettimeofday): Ditto.
        * spu/gettimeofday.c (gettimeofday): Ditto.
2007-07-06 17:00:13 +00:00
Jeff Johnston 4d95d0e99a 2006-01-03 Kazu Hirata <kazu@codesourcery.com>
* arm/Makefile (RDPMON_OBJS): Add _exit.o and _kill.o.
        (RDIMON_OBJS): Define in terms of RDPMON_OBJS.
        (rdimon-_exit.o, rdimon-_kill.o): New.
        * arm/_exit.c, arm/_kill.c: New.
        * arm/syscalls.c (_exit, _kill): Remove.
2007-01-03 16:55:25 +00:00
Kazu Hirata 3e0c6ff3a7 * arm/licfunc.c (do_AngelSWI): Remove.
* arm/syscalls.c (do_AngelSWI): Remove.
	* arm/swi.h (do_AngelSWI): New.
2006-12-25 23:05:24 +00:00
Kazu Hirata 7f0213da6b * arm/syscalls.c (_unlink, _system, _rename): Cast arguments
to do_AngelSWI to int.
2006-12-25 23:03:21 +00:00
Jeff Johnston bdcabb255c 2006-10-03 Jeff Johnston <jjohnstn@redhat.com>
* arm/linux-syscalls0.c: Rewrite bx insn architecture flag check         to avoid use of __ARM_ARCH__.
2006-10-03 16:33:50 +00:00
Jeff Johnston 04a8b4ee18 2006-10-02 Nick Clifton <nickc@redhat.com>
* arm/linux-syscalls0.c: Add arm architecture flag
        checks around bx insn.
2006-10-02 19:57:46 +00:00
Jeff Johnston d82b4a993b 2006-08-24 Paul Brook <paul@codesourcery.com>
* arm/linux-crt0.c: Disable Arm stub for Thumb-2.
2006-08-24 23:07:15 +00:00
Shaun Jackman 0b6bb78b34 2006-07-05 Shaun Jackman <sjackman@gmail.com>
* arm/linux-crt0.S: Remove file.
	* arm/linux-crt0.c: New file. Supports PIC code.
2006-07-05 15:24:30 +00:00
Shaun Jackman 0a22f2e537 2006-07-04 Shaun Jackman <sjackman@gmail.com>
* arm/linux-syscalls0.S (ftruncate, getegid, geteuid, getgid,
	getgroups, getpgid, getpgrp, getuid, lchown, pause, pipe,
	setpgid, setgid, setsid, setuid, sigprocmask, sync, uname): New
	system call.
2006-07-04 23:58:02 +00:00
Jeff Johnston c3297a3c90 2006-06-23 Shaun Jackman <sjackman@gmail.com>
* arm/elf-linux.specs: New file.
2006-06-23 16:27:34 +00:00
Jeff Johnston 73c20c325d 2006-06-13 Sandra Loosemore <sandra@codesourcery.com>
* arm/syscalls.c (_unlink, isatty, _system, _rename):
        Make them do something useful in the ARM_RDI_MONITOR case.
2006-06-13 20:51:08 +00:00
Jeff Johnston 986b5d2246 2006-06-05 Shaun Jackman <sjackman@gmail.com>
* arm/linux-syscalls0.S (reboot): Remove.
        * arm/linux-syscalls1.c (reboot): New function.
2006-06-05 20:15:23 +00:00
Jeff Johnston 4c602151f2 2006-06-05 Shaun Jackman <sjackman@gmail.com>
* arm/syscalls.c (kill) [ARM_RDI_MONITOR]: Use the signal
        argument to choose an ADP exception reason.
        * arm/libcfunc.c (abort): Remove this function.
2006-06-05 19:46:18 +00:00
Jeff Johnston 47e55476be 2006-05-30 Shaun Jackman <sjackman@gmail.com>
* arm/Makefile.in: Add Linux syscall interface.
      * arm/linux-crt0.S: New file.
      * arm/linux-syscall.h: New file.
      * arm/linux-syscalls0.S: New file.
      * arm/linux-syscalls1.c: New file.
2006-05-30 17:40:47 +00:00
Jeff Johnston 00a4b31ad0 2006-05-10 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.in: Pass some additional flags in FLAGS_TO_PASS.
        * configure.in: Add additional flags when creating Makefile.
        * configure: Regenerated.
        * arm/configure
        * arm/configure.in: Set with_multisubdir when creating Makefile.
        * cris/configure.in: Ditto.
        * d30v/configure.in: Ditto.
        * frv/configure.in: Ditto.
        * i386/configure.in: Ditto.
        * iq2000/configure.in: Ditto.
        * libnosys/configure.in: Ditto.
        * m32c/configure.in: Ditto.
        * m32r/configure.in: Ditto.
        * m68hc11/configure.in: Ditto.
        * m68k/configure.in: Ditto.
        * mcore/configure.in: Ditto.
        * mips/configure.in: Ditto.
        * mn10200/configure.in: Ditto.
        * mn10300/configure.in: Ditto.
        * mt/configure.in: Ditto.
        * pa/configure.in: Ditto.
        * rs6000/configure.in: Ditto.
        * sparc/configure.in: Ditto.
        * cris/configure: Regenerated.
        * d30v/configure: Ditto.
        * frv/configure: Ditto.
        * i386/configure: Ditto.
        * iq2000/configure: Ditto.
        * libnosys/configure: Ditto.
        * m32c/configure: Ditto.
        * m32r/configure: Ditto.
        * m68hc11/configure: Ditto.
        * m68k/configure: Ditto.
        * mcore/configure: Ditto.
        * mips/configure: Ditto.
        * mn10200/configure: Ditto.
        * mn10300/configure: Ditto.
        * mt/configure: Ditto.
        * pa/configure: Ditto.
        * rs6000/configure: Ditto.
        * sparc/configure: Ditto.
2006-05-10 20:51:41 +00:00