diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-08 16:21:48 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-12 07:01:16 +0100 |
commit | bfcf1473cf117d039c76f1f10e40185cdc2f51ed (patch) | |
tree | 66ff2f5daf44ede6e1e8dd7f11a84ee6ee92a165 /bsps | |
parent | arm/csb337: Update Doxygen (GCI 2018) (diff) | |
download | rtems-bfcf1473cf117d039c76f1f10e40185cdc2f51ed.tar.bz2 |
m32c: Remove this target
Update #3599.
Diffstat (limited to 'bsps')
-rw-r--r-- | bsps/m32c/m32cbsp/README | 4 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/btimer/btimer.c | 69 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg | 28 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/config/m32csim.cfg | 16 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/console/console-io.c | 65 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/console/syscalls.S | 43 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/doxygen.h | 15 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/headers.am | 6 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/include/bsp.h | 49 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/include/tm27.h | 1 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/start/bsp_specs | 9 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/start/bspstart.c | 24 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/start/crtn.S | 58 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/start/linkcmds | 207 | ||||
-rw-r--r-- | bsps/m32c/m32cbsp/start/start.S | 183 |
15 files changed, 0 insertions, 777 deletions
diff --git a/bsps/m32c/m32cbsp/README b/bsps/m32c/m32cbsp/README deleted file mode 100644 index 10c0e20987..0000000000 --- a/bsps/m32c/m32cbsp/README +++ /dev/null @@ -1,4 +0,0 @@ -This BSP is designed to operate on a variety of M16C and M32C variants. -It is expected that this BSP will also be able to support R8C variants. - -It currently only runs on the M32C simulator in GDB. diff --git a/bsps/m32c/m32cbsp/btimer/btimer.c b/bsps/m32c/m32cbsp/btimer/btimer.c deleted file mode 100644 index a27d9ffb1b..0000000000 --- a/bsps/m32c/m32cbsp/btimer/btimer.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file implements a stub benchmark timer that is sufficient to - * satisfy linking the RTEMS Benchmarks. - */ - -/* - * COPYRIGHT (c) 1989-2001. - * On-Line Applications Research Corporation (OAR). - */ - -#include <bsp.h> -#include <rtems/btimer.h> - -#include <varvects.h> - -bool benchmark_timer_find_average_overhead; -uint32_t benchmark_timer_overhead = 10; - -#define TABSR *((uint8_t *)0x340) -#define TA0MR *((uint8_t *)0x356) -#define TA0 *((uint16_t *)0x346) -#define TA0IC *((uint8_t *)0x6c) - -static int benchmark_timer_interrupts; - -static void __attribute__((interrupt)) timer_ra_interrupt(void); - -#define ivec_timer_a0 12 - -void __attribute__((interrupt)) -timer_ra_interrupt(void) -{ - benchmark_timer_interrupts++; - TA0IC = 0x05; - -} - -void benchmark_timer_initialize(void) -{ - benchmark_timer_interrupts = 0; - _set_var_vect (timer_ra_interrupt, ivec_timer_a0); - TA0MR = 0x00; - TA0 = 0xffff; - TA0IC = 0x05; - TABSR = 0x55; -} - -benchmark_timer_t benchmark_timer_read(void) -{ - uint32_t count; - - count = 0xFFFF - TA0; - count += benchmark_timer_interrupts * 0xFFFFL; - - if (!benchmark_timer_find_average_overhead) { - if ( count > benchmark_timer_overhead ) - count -= benchmark_timer_overhead; - else - count = 0; - } - return count; -} - -void benchmark_timer_disable_subtracting_average_overhead( - bool find_flag -) -{ - benchmark_timer_find_average_overhead = find_flag; -} diff --git a/bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg b/bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg deleted file mode 100644 index d1eee4f443..0000000000 --- a/bsps/m32c/m32cbsp/config/m32csim-testsuite.tcfg +++ /dev/null @@ -1,28 +0,0 @@ -# -# The GDB M32C Simulator does not have a tick interrupt. -# - -include: testdata/disable-iconv-tests.tcfg -include: testdata/require-tick-isr.tcfg -include: testdata/disable-jffs2-tests.tcfg -include: testdata/disable-mrfs-tests.tcfg - -exclude: crypt01 -exclude: fileio -exclude: flashdisk01 -exclude: fsbdpart01 -exclude: fsdosfsformat01 -exclude: fsdosfswrite01 -exclude: fsdosfsname01 -exclude: fsrfsbitmap01 -exclude: sha -exclude: spstkalloc02 -exclude: sptls01 -exclude: sptls04 -exclude: tmcontext01 -exclude: utf8proc01 - -# -# Does not compile. See #3025. -# -exclude: linpack diff --git a/bsps/m32c/m32cbsp/config/m32csim.cfg b/bsps/m32c/m32cbsp/config/m32csim.cfg deleted file mode 100644 index 9ea0d48b80..0000000000 --- a/bsps/m32c/m32cbsp/config/m32csim.cfg +++ /dev/null @@ -1,16 +0,0 @@ -# -# Config file for the M32C GDB Simulator -# - -include $(RTEMS_ROOT)/make/custom/default.cfg - -RTEMS_CPU=m32c - -CPU_CFLAGS = -mcpu=m32cm - -# Unreported GCC Bug results in ICE in cpu.c. Use -O0 -# CFLAGS_OPTIMIZE_V = -Os -g -CFLAGS_OPTIMIZE_V = -O0 -g -CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections - -LDFLAGS = -Wl,--gc-sections diff --git a/bsps/m32c/m32cbsp/console/console-io.c b/bsps/m32c/m32cbsp/console/console-io.c deleted file mode 100644 index 745493c43a..0000000000 --- a/bsps/m32c/m32cbsp/console/console-io.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file contains the hardware specific portions of the TTY driver - * for the serial ports on the m32c simulator in gdb. - */ - -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp.h> -#include <bsp/console-polled.h> -#include <rtems/libio.h> -#include <stdlib.h> -#include <assert.h> - -/* - * console_initialize_hardware - * - * This routine initializes the console hardware. - * - */ - -void console_initialize_hardware(void) -{ - return; -} - -/* - * console_outbyte_polled - * - * This routine transmits a character using polling. - */ -ssize_t sys_write(int fd, const void *buf, size_t count); -void console_outbyte_polled( - int port, - char ch -) -{ - sys_write( 2, &ch, 1 ); -} - -/* - * console_inbyte_nonblocking - * - * This routine polls for a character. - */ - -int console_inbyte_nonblocking( - int port -) -{ - return -1; -} - -#include <rtems/bspIo.h> - -static void M32CsimBSP_output_char(char c) { console_outbyte_polled( 0, c ); } - -BSP_output_char_function_type BSP_output_char = M32CsimBSP_output_char; -BSP_polling_getchar_function_type BSP_poll_char = NULL; diff --git a/bsps/m32c/m32cbsp/console/syscalls.S b/bsps/m32c/m32cbsp/console/syscalls.S deleted file mode 100644 index f4cabac940..0000000000 --- a/bsps/m32c/m32cbsp/console/syscalls.S +++ /dev/null @@ -1,43 +0,0 @@ -/* - * System call support for simulator in gdb. - * Adapted from newlib 1.16.0. - */ - -#define SYS_exit 1 -#define SYS_open 2 -#define SYS_close 3 -#define SYS_read 4 -#define SYS_write 5 -#define SYS_lseek 6 -#define SYS_unlink 7 -#define SYS_getpid 8 -#define SYS_kill 9 -#define SYS_fstat 10 -#define SYS_sbrk 11 - -#define POUND # -#define SYSCALL(N) mov.b POUND N,0x400 - -#define S(n) _sys_##n: .global _sys_##n | SYSCALL(SYS_##n) | rts - -S(write) -S(exit) -S(sbrk) - - .global _abort -_abort: - /* This is for debuggers. The simulator stops here too. */ - brk - - /* Else, fall back on the simulator's "kill me" option. */ -#if defined(__r8c_cpu__) || defined(__m16c_cpu__) - mov.w #42,r1 -#else - mov.w #42,r0 -#endif - - SYSCALL(SYS_kill) - - /* Else, exit. */ - jmp.a __exit - diff --git a/bsps/m32c/m32cbsp/doxygen.h b/bsps/m32c/m32cbsp/doxygen.h deleted file mode 100644 index 6c61d323d8..0000000000 --- a/bsps/m32c/m32cbsp/doxygen.h +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @defgroup bsp_m32c M32C - * - * @ingroup bsp_kit - * - * @brief M32C Board Support Packages - */ - -/** - * @defgroup m32c_m32cbsp M32C M32CBSP Modules - * - * @ingroup bsp_m32c - * - * @brief M32C M32CBSP Modules - */
\ No newline at end of file diff --git a/bsps/m32c/m32cbsp/headers.am b/bsps/m32c/m32cbsp/headers.am deleted file mode 100644 index 463baaeb43..0000000000 --- a/bsps/m32c/m32cbsp/headers.am +++ /dev/null @@ -1,6 +0,0 @@ -## This file was generated by "./boostrap -H". - -include_HEADERS = -include_HEADERS += ../../../../../../bsps/m32c/m32cbsp/include/bsp.h -include_HEADERS += include/bspopts.h -include_HEADERS += ../../../../../../bsps/m32c/m32cbsp/include/tm27.h diff --git a/bsps/m32c/m32cbsp/include/bsp.h b/bsps/m32c/m32cbsp/include/bsp.h deleted file mode 100644 index b7c6891e09..0000000000 --- a/bsps/m32c/m32cbsp/include/bsp.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @file - * - * @ingroup m32c_bsp - * - * @brief m32c simulator definitions in gdb - */ - -/* bsp.h - * - * This include file contains some definitions specific to the - * h8 simulator in gdb. - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef LIBBSP_M32C_M32CBSP_BSP_H -#define LIBBSP_M32C_M32CBSP_BSP_H - -#include <bspopts.h> -#include <bsp/default-initial-extension.h> - -#include <rtems.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup m32c_bsp Clock Tick Support - * - * @ingroup m32c_m32cbsp - * - * @brief Clock Tick Support Package - */ - -void *clock_driver_sim_idle_body(uintptr_t); -#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/bsps/m32c/m32cbsp/include/tm27.h b/bsps/m32c/m32cbsp/include/tm27.h deleted file mode 100644 index 0dfa7bf628..0000000000 --- a/bsps/m32c/m32cbsp/include/tm27.h +++ /dev/null @@ -1 +0,0 @@ -#include <rtems/tm27-default.h> diff --git a/bsps/m32c/m32cbsp/start/bsp_specs b/bsps/m32c/m32cbsp/start/bsp_specs deleted file mode 100644 index afa9f6badb..0000000000 --- a/bsps/m32c/m32cbsp/start/bsp_specs +++ /dev/null @@ -1,9 +0,0 @@ -%rename endfile old_endfile -%rename startfile old_startfile - -*startfile: -%{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: crtbegin.o%s}} - -*endfile: -%{!qrtems: %(old_endfile)} %{!nostdlib: %{qrtems: crtend.o%s}} diff --git a/bsps/m32c/m32cbsp/start/bspstart.c b/bsps/m32c/m32cbsp/start/bspstart.c deleted file mode 100644 index 7fdd598ccf..0000000000 --- a/bsps/m32c/m32cbsp/start/bspstart.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp.h> -#include <bsp/bootcard.h> - -extern void sys_sbrk(int); - -/* - * This routine would usually do the bulk of the system initialization. - * But if a BSP doesn't need to do anything, it can use this version. - */ - -void bsp_start( void ) -{ - /* Tell the simulator not to test for heap/stack collision */ - sys_sbrk(0); -} diff --git a/bsps/m32c/m32cbsp/start/crtn.S b/bsps/m32c/m32cbsp/start/crtn.S deleted file mode 100644 index 6004f28e05..0000000000 --- a/bsps/m32c/m32cbsp/start/crtn.S +++ /dev/null @@ -1,58 +0,0 @@ -/* - -Copyright (c) 2005 Red Hat Incorporated. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - The name of Red Hat Incorporated may not be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#if defined(__r8c_cpu__) || defined(__m16c_cpu__) -#define A16 -#define A(n,w) n -#define W w -#else -#define A24 -#define A(n,w) w -#define W l -#endif - - .section .init,"ax",@progbits - jsr.a _m32c_run_preinit_array - jsr.a _m32c_run_init_array - exitd - .global __m32c_init_end -__m32c_init_end: - - .section .fini,"ax",@progbits - - exitd - .global __m32c_fini_end -__m32c_fini_end: - - .text - diff --git a/bsps/m32c/m32cbsp/start/linkcmds b/bsps/m32c/m32cbsp/start/linkcmds deleted file mode 100644 index 9863f360b0..0000000000 --- a/bsps/m32c/m32cbsp/start/linkcmds +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Declare some sizes. - */ -_RamBase = DEFINED(_RamBase) ? _RamBase : 0x200000; -_RamSize = DEFINED(_RamSize) ? _RamSize : 0x800000; -_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0; - -/* Default linker script, for normal executables */ -OUTPUT_FORMAT("elf32-m32c", "elf32-m32c", - "elf32-m32c") -OUTPUT_ARCH(m32c) -ENTRY(_start) -STARTUP(start.o) -/* Do we need any of these for elf? - __DYNAMIC = 0; */ -MEMORY { - RAM (w) : ORIGIN = 0x200000, LENGTH = 0x800000 - VEC (r) : ORIGIN = 0xffffdc, LENGTH = 32 - RESETVEC (r) : ORIGIN = 0xfffffc, LENGTH = 4 -} -SECTIONS -{ - /* There are three cases we care about: First, RW data that must be - in the low 64k. This will always be copied from ROM. Second, RO - data that must be in the low 64k. This may be copied from ROM if - the ROM is above 64k. Third, anything that does not need to be - in the first 64k. Chips normally only have two memory regions; - low ram and either high or low rom. We map the low rom needs - into one of the actual regions. */ - - /* .text goes first so the rom image of ram data will follow it. */ - .text : - { - *(.text .stub .text.* .gnu.linkonce.t.*) - KEEP (*(.text.*personality*)) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.interp .hash .dynsym .dynstr .gnu.version*) - PROVIDE (__etext = .); - PROVIDE (_etext = .); - PROVIDE (etext = .); - . = ALIGN(2); - } > RAM =0 - - /* rodata will either be part of data, or will be in low rom. So we - might be spanning it, or we might not. This lets us include it - in our calculations when appropriate. */ - - .rodata : { - . = ALIGN(2); - *(.plt) - KEEP (*(.init)) - KEEP (*(.fini)) - *(.rodata .rodata.* .gnu.linkonce.r.*) - KEEP (*(SORT(.rtemsroset.*))) - *(.rodata1) - *(.eh_frame_hdr) - KEEP (*(.eh_frame)) - KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) - . = ALIGN(2); - PROVIDE(__romdatastart = .); /* IF_ROROM */ - } > RAM - - .tdata : { - __TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - __TLS_Data_end = .; - } > RAM - .tbss : { - __TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - __TLS_BSS_end = .; - } > RAM - __TLS_Data_size = __TLS_Data_end - __TLS_Data_begin; - __TLS_Data_begin = __TLS_Data_size != 0 ? __TLS_Data_begin : __TLS_BSS_begin; - __TLS_Data_end = __TLS_Data_size != 0 ? __TLS_Data_end : __TLS_BSS_begin; - __TLS_BSS_size = __TLS_BSS_end - __TLS_BSS_begin; - __TLS_Size = __TLS_BSS_end - __TLS_Data_begin; - __TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss)); - - .data : { - . = ALIGN(32 / 8); - PROVIDE (__datastart = .); /* IF_ROROM */ - PROVIDE (__preinit_array_start = .); - KEEP (*(.preinit_array)) - PROVIDE (__preinit_array_end = .); - PROVIDE (__init_array_start = .); - KEEP (*(.init_array)) - PROVIDE (__init_array_end = .); - PROVIDE (__fini_array_start = .); - KEEP (*(.fini_array)) - PROVIDE (__fini_array_end = .); - - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin*.o(.ctors)) - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - - KEEP (*crtbegin*.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - - KEEP (*(.jcr)) - *(.data.rel.ro.local) *(.data.rel.ro*) - *(.dynamic) - - *(.data .data.* .gnu.linkonce.d.*) - KEEP (*(SORT(.rtemsrwset.*))) - KEEP (*(.gnu.linkonce.d.*personality*)) - SORT(CONSTRUCTORS) - *(.data1) - *(.got.plt) *(.got) - - . = ALIGN(2); - _edata = .; - PROVIDE (edata = .); - PROVIDE (__dataend = .); - } > RAM - - /* Note that __romdatacopysize may be ZERO for the simulator, which - knows how to intialize RAM directly. It should ONLY be used for - copying data from ROM to RAM; if you need to know the size of the - data section, subtract the end symbol from the start symbol. */ - /* Note that crt0 assumes this is even; all the start/stop symbols - are also assumed word-aligned. */ - PROVIDE (__romdatacopysize = 0); - - .bss : { - . = ALIGN(2); - PROVIDE (__bssstart = .); - *(.dynbss) - *(.bss .bss.* .gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(2); - PROVIDE (__bssend = .); - _end = .; - PROVIDE (end = .); - } > RAM - PROVIDE (__bsssize = 0); - - .rtemsstack (NOLOAD) : { - *(SORT(.rtemsstack.*)) - } > RAM - - PROVIDE (_WorkAreaBase = .); - . = 0xa00000; - PROVIDE (_WorkAreaEnd = .); - PROVIDE (_WorkAreaSize = _WorkAreaEnd - _WorkAreaBase); - - .vec : { - *(.vec) - } > VEC - .resetvec : { - *(.resetvec) - } > RESETVEC - - /* The rest are all not normally part of the runtime image. */ - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } -} diff --git a/bsps/m32c/m32cbsp/start/start.S b/bsps/m32c/m32cbsp/start/start.S deleted file mode 100644 index f5548784e1..0000000000 --- a/bsps/m32c/m32cbsp/start/start.S +++ /dev/null @@ -1,183 +0,0 @@ -/* - -Copyright (c) 2005 Red Hat Incorporated. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - The name of Red Hat Incorporated may not be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#if defined(__r8c_cpu__) || defined(__m16c_cpu__) -#define A16 -#define A(n,w) n -#define W w -#define ALIGN 1 -#else -#define A24 -#define A(n,w) w -#define W l -#define ALIGN 2 -#endif - - .text - - .global _start -_start: -.LFB2: - fset U /* User stack */ - ldc #__ISR_Stack_area_end,sp - -#ifdef A16 - mov.b #%hi8(__romdatastart),r1h - mov.w #%lo16(__romdatastart),a0 - mov.w #__datastart,a1 -#else - mov.l #__romdatastart,a0 - mov.l #__datastart,a1 -#endif - mov.w #__romdatacopysize,r3 - shl.w #-1,r3 - smovf.w - -#ifdef A16 - mov.w #__bssstart,a1 -#else - mov.l #__bssstart,a1 -#endif - mov.w #__bsssize,r3 - shl.w #-1,r3 - mov.w #0,r0 - sstr.w - - /* jsr.a __m32c_init */ - - jsr.a _boot_card -.LFE2: - -#ifdef A24 - /* rv in r0, ok for arg0 */ -#else - mov.w r0,r1 -#endif - - .global _bsp_reset -_bsp_reset: - jsr.a _sys_exit - - .text - - .global _m32c_run_preinit_array - .type _m32c_run_preinit_array,@function -_m32c_run_preinit_array: - mov.W #__preinit_array_start,a0 - mov.W #__preinit_array_end,a1 - jmp.w _m32c_run_inilist - - .global _m32c_run_init_array - .type _m32c_run_init_array,@function -_m32c_run_init_array: - mov.W #__init_array_start,a0 - mov.W #__init_array_end,a1 - jmp.w _m32c_run_inilist - - .global _m32c_run_fini_array - .type _m32c_run_fini_array,@function -_m32c_run_fini_array: - mov.W #__fini_array_start,a0 - mov.W #__fini_array_end,a1 - /* fall through */ - -_m32c_run_inilist: -next_inilist: - cmp.W a0,a1 - jeq done_inilist - pushm a0,a1 - mov.W [a0],a0 -#ifdef A16 - mov.b:s #0,a1 /* zero extends */ - jsri.a a1a0 -#else - jsri.a a0 -#endif - popm a0,a1 - add.W A(#2,#4),a0 - jmp.b next_inilist -done_inilist: - rts - - .section .init,"ax",@progbits - - .global __init - .global __m32c_init -__init: -__m32c_init: - enter #0 - exitd - - .section .fini,"ax",@progbits - - .global __fini - .global __m32c_fini -__fini: -__m32c_fini: - enter #0 - jsr.a _m32c_run_fini_array - exitd - - -;;; Provide Dwarf unwinding information that will help GDB stop -;;; backtraces at the right place. This is stolen from assembly -;;; code generated by GCC with -dA. - .section .debug_frame,"",@progbits -.Lframe0: - .4byte .LECIE0-.LSCIE0 ; Length of Common Information Entry -.LSCIE0: - .4byte 0xffffffff ; CIE Identifier Tag - .byte 0x1 ; CIE Version - .ascii "\0" ; CIE Augmentation - .uleb128 0x1 ; CIE Code Alignment Factor - .sleb128 -1 ; CIE Data Alignment Factor - .byte 0xd ; CIE RA Column - .byte 0xc ; DW_CFA_def_cfa - .uleb128 0xc - .uleb128 0x3 - .byte 0x8d ; DW_CFA_offset, column 0xd - .uleb128 0x3 - .p2align ALIGN -.LECIE0: -.LSFDE0: - .4byte .LEFDE0-.LASFDE0 ; FDE Length -.LASFDE0: - .4byte .Lframe0 ; FDE CIE offset - .4byte .LFB2 ; FDE initial location - .4byte .LFE2-.LFB2 ; FDE address range - .byte 0xf ; DW_CFA_def_cfa_expression - .uleb128 1 ; length of expression - .byte 0x30 ; DW_OP_lit0 - .p2align ALIGN -.LEFDE0: - - .text |