Commit Graph

17 Commits

Author SHA1 Message Date
Mike Frysinger e56bdf902b libgloss: document & localize custom multi-do rule
The multi-build.in file in libgloss duplicates common multilib logic
in the root source tree.  Document it a bit, and rename the rule so
it doesn't clash with the common multi-do rule.  This will let us use
them in the same makefile so we can merge aarch64/ & arm/ up (as the
only targets that use this local multi-build.in atm).
2022-02-24 19:12:45 -05:00
Mike Frysinger 502cf4b7b5 libgloss: fix more missing dir with parallel install
Depending on the processing order of rules when installing in parallel,
these install rules might be processed before some other rule happens
to create the respective dirs.  Make sure each one creates the needed
dirs before installing into them.
2022-01-29 01:33:49 -05:00
Tamar Christina cc142edbe7 Add the needed build system changes in order to compile and create the new libraries for Semihosting v2 for ARM.
This uses the new recursive build target in multi-build.in

The new spec files are:

For AArch32/ARM (m for mixed mode):
  - rdimon-v2m.specs
  - aprofile-validation-v2m.specs
  - aprofile-ve-v2m.specs

These spec files will be using the new libraries generated
by multi-build.in.

Signed-off-by: Tamar Christina <tamar.christina@arm.com>
2017-07-05 14:41:27 +02: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 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
Marcus Shawcroft c709105913 [ARM] Provide ftruncate() and truncate() stubs. 2013-11-18 09:53:46 +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
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
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
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 353d0a275c 2005-04-12 Shaun Jackman <sjackman@gmail.com>
* libgloss/arm/Makefile.in (RDPMON_BSP): librdpmon.a was empty due
        to a typo. Fixed.
        (RDIMON_BSP): Ditto.
2005-04-13 00:01:40 +00:00
Jeff Johnston 051f21ca83 2004-06-27 Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
* Makefile.in: Support $(DESTDIR).
        * arm/Makefile.in: Ditto.
        * d30v/Makefile.in: Ditto.
        * doc/Makefile.in: Ditto.
        * fr30/Makefile.in: Ditto.
        * frv/Makefile.in: Ditto.
        * hp74x/Makefile.in: Ditto.
        * i386/Makefile.in: Ditto.
        * i960/Makefile.in: Ditto.
        * iq2000/Makefile.in: Ditto.
        * libnosys/Makefile.in: Ditto.
        * m32r/Makefile.in: Ditto.
        * m68hc11/Makefile.in: Ditto.
        * m68k/Makefile.in: Ditto.
        * mcore/Makefile.in: Ditto.
        * mips/Makefile.in: Ditto.
        * mn10200/Makefile.in: Ditto.
        * mn10300/Makefile.in: Ditto.
        * pa/Makefile.in: Ditto.
        * rs6000/Makefile.in: Ditto.
        * sparc/Makefile.in: Ditto.
        * sparc/libsys/Makefile.in: Ditto.
        * xstormy16/Makefile.in: Ditto.
2004-06-28 22:42:21 +00:00
Jeff Johnston a8992cbaca 2004-06-17 Jeff Johnston <jjohnstn@redhat.com>
* arm/configure.in: Check the value of newlib-may-supply-syscalls
        enablement variable to determine if crt0 should or should not be
        built.
        * arm/configure: Regenerated.
        * arm/Makefile.in: Changed to look at @BUILD_CRT0_TRUE@ and
        @BUILD_CRT0_FALSE@ variables set in configure to determine
        if crt0.o should be built and installed.
2004-06-17 19:33:27 +00:00
Jeff Johnston a7364adeb9 2004-06-09 Toralf Lund <toralf@procaptura.com>
* arm/crt0.S: Copied from newlib and it now also sets up stacks for
        FIQ and IRQ mode, plus calls hardware_init_hook() and
        software_init_hook() if present.
        * arm/libcfunc.c, arm/swi.h, arm/syscalls.c: Copied
        from newlib.
        * arm/Makefile.in: Build crt0.o, rdpmon-crt0.o, rdimon-crt0.o,
        librdpmon.a, librdimon.a - support file for "bare" setup, as well
        as "RDP" and "RDI" monitors.
        * arm/coff-rdpmon.specs, arm/elf-rdpmon.specs,
        arm/coff-rdimon.specs, arm/elf-rdimon.specs: gcc specs files to go
        with above mentioned support libs and startfiles.
2004-06-09 19:06:50 +00:00
Jeff Johnston 5b30331167 2002-11-08 Jeff Johnston <jjohnstn@redhat.com>
* arm/Makefile.in: Add support for new pid specs.
        * arm/coff-iq80310.specs: Change to allow future support.
        * arm/elf-iq80310.specs: Ditto.
        * arm/elf-redboot.specs: Ditto.
        * arm/coff-redboot.ld: Add EH frame support.
        * arm/redboot-crt0.S: Add optional code to clear bss without
        memset.
        * arm/coff-pid.specs: New file.
        * arm/elf-pid.specs: New file.
2002-11-07 00:25:57 +00:00
Mark Salter 62a25ce17c Add ARM support 2002-01-07 18:12:32 +00:00