Commit Graph

473 Commits

Author SHA1 Message Date
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