| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* arm/syscalls.c: define __heap_limit global symbol.
* arm/syscalls.c (_sbrk): Honour __heap_limit.
|
| |
|
|
|
|
|
|
| |
* arm/elf-rdimon.specs: Support nano.specs.
* arm/Makefile.in: Support nano.specs.
* libnosys/nosys.specs: Support nano.specs.
|
|
|
|
|
| |
64k-aligned.
* arm/elf-aprofile-ve.specs (*link): Likewise.
|
|
|
|
|
|
| |
* arm/configure.in: (*-*-tirtos*) Accept TIRTOS target when setting
objtype
* arm/configure: Regenerated.
|
|
|
|
|
| |
* arm/syscalls.c (_sbrk): Define as weak symbols.
(_read, _write): Ditto.
|
|
|
|
|
|
| |
* arm/configure.in: Revert previous fix and change host_makefile_frag
to calculate the absolute location of srcdir/../config/default.mh.
* arm/configure: Regenerated.
|
|
|
|
|
| |
* arm/configure.in: Fix host_makefile_frag to use ac_abs_srcdir.
* arm/configure: Regenerated.
|
| |
|
| |
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* arm/crt0.S: Ditto.
* arm/redboot-crt0.S: Ditto.
|
|
|
|
|
| |
* arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini
when lite exit is enabled.
|
| |
|
| |
|
| |
|
|
|
|
| |
_start_thumb.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
* arm/crt0.S (indirect_call): New macro. Encodes indirect
function calls. Does not use blx for pre-armv5 targets.
|
|
|
|
|
|
|
|
| |
* arm/swi.h: Likewise.
* arm/trap.S: Likewise.
* arm/redboot-crt0.S: Likewise.
* arm/linux-crt0.c: Likewise.
* arm/arm.h: New.
|
|
|
|
| |
* arm/Makefile.in: Add $CFLAGS to compile commands for specified .o targets.
|
| |
|
|
|
|
|
| |
Delete Thumb definitions - the ARM versions work correctly in
Thumb mode.
|
|
|
|
|
| |
* arm/crt0.S: Fix calling hardware_init_hook() or software_init_hook()
under thumb and thumb2.
|
|
|
|
|
| |
* arm/crt0.S: Allow assembly under ARMv7 ISA. Support for
initializing stack pointers for interrupt modes is still pending.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* arm/crt0.S: Remove '.set' for __stack, hardware_init_hook,
and software_init_hook.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* arm/syscalls.c (do_AngelSWI): Remove.
* arm/swi.h (do_AngelSWI): New.
|
|
|
|
| |
to do_AngelSWI to int.
|
|
|
|
| |
* arm/linux-syscalls0.c: Rewrite bx insn architecture flag check to avoid use of __ARM_ARCH__.
|
|
|
|
|
| |
* arm/linux-syscalls0.c: Add arm architecture flag
checks around bx insn.
|
|
|
|
| |
* arm/linux-crt0.c: Disable Arm stub for Thumb-2.
|
|
|
|
|
| |
* arm/linux-crt0.S: Remove file.
* arm/linux-crt0.c: New file. Supports PIC code.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* arm/elf-linux.specs: New file.
|
|
|
|
|
| |
* arm/syscalls.c (_unlink, isatty, _system, _rename):
Make them do something useful in the ARM_RDI_MONITOR case.
|
|
|
|
|
| |
* arm/linux-syscalls0.S (reboot): Remove.
* arm/linux-syscalls1.c (reboot): New function.
|
|
|
|
|
|
| |
* arm/syscalls.c (kill) [ARM_RDI_MONITOR]: Use the signal
argument to choose an ADP exception reason.
* arm/libcfunc.c (abort): Remove this function.
|