From ea1116dbfc2e10c8a3c42e1660497e1b8f2e9afc Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 2 Oct 2008 21:56:30 +0000 Subject: 2008-10-02 Joel Sherrill * .cvsignore, ChangeLog, Makefile.am, bsp_specs, configure.ac, preinstall.am, console/console-io.c, console/syscalls.S, console/trap0.S, include/.cvsignore, include/bsp.h, include/tm27.h, start/start.S, startup/linkcmds: New files. --- c/src/lib/libbsp/m32r/m32rsim/.cvsignore | 8 + c/src/lib/libbsp/m32r/m32rsim/ChangeLog | 519 +++++++++++++++++++++ c/src/lib/libbsp/m32r/m32rsim/Makefile.am | 48 ++ c/src/lib/libbsp/m32r/m32rsim/bsp_specs | 15 + c/src/lib/libbsp/m32r/m32rsim/configure.ac | 22 + c/src/lib/libbsp/m32r/m32rsim/console/console-io.c | 86 ++++ c/src/lib/libbsp/m32r/m32rsim/console/syscalls.S | 43 ++ c/src/lib/libbsp/m32r/m32rsim/console/trap0.S | 16 + c/src/lib/libbsp/m32r/m32rsim/include/.cvsignore | 5 + c/src/lib/libbsp/m32r/m32rsim/include/bsp.h | 55 +++ c/src/lib/libbsp/m32r/m32rsim/include/tm27.h | 32 ++ c/src/lib/libbsp/m32r/m32rsim/preinstall.am | 67 +++ c/src/lib/libbsp/m32r/m32rsim/start/start.S | 58 +++ c/src/lib/libbsp/m32r/m32rsim/startup/linkcmds | 238 ++++++++++ 14 files changed, 1212 insertions(+) create mode 100644 c/src/lib/libbsp/m32r/m32rsim/.cvsignore create mode 100644 c/src/lib/libbsp/m32r/m32rsim/ChangeLog create mode 100644 c/src/lib/libbsp/m32r/m32rsim/Makefile.am create mode 100644 c/src/lib/libbsp/m32r/m32rsim/bsp_specs create mode 100644 c/src/lib/libbsp/m32r/m32rsim/configure.ac create mode 100644 c/src/lib/libbsp/m32r/m32rsim/console/console-io.c create mode 100644 c/src/lib/libbsp/m32r/m32rsim/console/syscalls.S create mode 100644 c/src/lib/libbsp/m32r/m32rsim/console/trap0.S create mode 100644 c/src/lib/libbsp/m32r/m32rsim/include/.cvsignore create mode 100644 c/src/lib/libbsp/m32r/m32rsim/include/bsp.h create mode 100644 c/src/lib/libbsp/m32r/m32rsim/include/tm27.h create mode 100644 c/src/lib/libbsp/m32r/m32rsim/preinstall.am create mode 100644 c/src/lib/libbsp/m32r/m32rsim/start/start.S create mode 100644 c/src/lib/libbsp/m32r/m32rsim/startup/linkcmds (limited to 'c/src/lib/libbsp/m32r') diff --git a/c/src/lib/libbsp/m32r/m32rsim/.cvsignore b/c/src/lib/libbsp/m32r/m32rsim/.cvsignore new file mode 100644 index 0000000000..baba64eafa --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/.cvsignore @@ -0,0 +1,8 @@ +aclocal.m4 +autom4te*.cache +config.cache +config.log +config.status +configure +Makefile +Makefile.in diff --git a/c/src/lib/libbsp/m32r/m32rsim/ChangeLog b/c/src/lib/libbsp/m32r/m32rsim/ChangeLog new file mode 100644 index 0000000000..95884c4c39 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/ChangeLog @@ -0,0 +1,519 @@ +2008-10-02 Joel Sherrill + + * .cvsignore, ChangeLog, Makefile.am, bsp_specs, configure.ac, + preinstall.am, console/console-io.c, console/syscalls.S, + console/trap0.S, include/.cvsignore, include/bsp.h, include/tm27.h, + start/start.S, startup/linkcmds: New files. + +2008-09-26 Ralf Corsépius + + * Makefile.am: Cleanup ../../shared/include/bootcard.h handling. + +2008-09-25 Joel Sherrill + + * console/console-io.c: Add missing file and remove junk code. + * console/syscalls.S: New file. + +2008-09-24 Joel Sherrill + + * startup/linkcmds: Simulator now appears to have 16M RAM support by + default in gdb 6.8. + +2008-09-24 Joel Sherrill + + * Makefile.am, console/console-io.c, include/bsp.h: + +2008-09-23 Joel Sherrill + + * configure.ac: Make letting boot_card() handle work area allocation + mandatory. Rename RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION to + BSP_BOOTCARD_OPTIONS. + +2008-09-19 Joel Sherrill + + * Makefile.am: Split out bspstart contents. Use shared stub for + bsp_start. + * startup/h8bdinstallirq.c: New file. + * startup/bspstart.c: Removed. + +2008-09-18 Joel Sherrill + + * include/bsp.h: Remove unnecessary boilerplate comments. + +2008-09-16 Joel Sherrill + + * Makefile.am, startup/linkcmds: Use top level shared + bsp_get_work_area() implementation. + * startup/bspgetworkarea.c: Removed. + +2008-09-16 Joel Sherrill + + * startup/bspstart.c: Remove unnecessary includes of + rtems/libcsupport.h and rtems/libio.h. + +2008-09-14 Joel Sherrill + + * Makefile.am, configure.ac, startup/__main.c, startup/bspstart.c: + Split out bsp_get_work_area() into its own file and user BSP + Framework to perform more initialization. + * startup/bspgetworkarea.c: New file. + +2008-09-10 Joel Sherrill + + * include/bsp.h: Review of all bsp_cleanup() implementations. In this + phase, all prototypes were removed from bsp.h and empty + implementations were removed and made to use the shared stub. + +2008-08-19 Ralf Corsépius + + * startup/__main.c: Add missing prototypes. + +2008-05-15 Joel Sherrill + + * startup/bspstart.c: Add capability for bootcard.c BSP Initialization + Framework to ask the BSP where it has memory for the RTEMS Workspace + and C Program Heap. These collectively are referred to as work area. + If the BSP supports this, then it does not have to include code to + split the available memory between the two areas. This reduces the + amount of code in the BSP specific bspstart.c file. Additionally, the + shared framework can initialize the C Library, call + rtems_debug_enable(), and dirty the work area memory. Until most/all + BSPs support this new capability, if the BSP supports this, it should + call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. + When the transition is complete, this autoconf macro can be removed. + +2008-05-14 Joel Sherrill + + * Makefile.am: Rework to avoid .rel files. + +2008-05-12 Joel Sherrill + + * startup/bspstart.c: Refactored and renamed initialization routines to + rtems_initialize_data_structures, rtems_initialize_before_drivers, + rtems_initialize_device_drivers, and + rtems_initialize_start_multitasking. This opened the sequence up so + that bootcard() could provide a more robust and flexible framework + which is easier to explain and understand. This also lays the + groundwork for sharing the division of available memory between the + RTEMS workspace and heap and the C library initialization across all + BSPs. + +2007-12-11 Joel Sherrill + + * include/bsp.h, startup/bspstart.c: Eliminate copies of the + Configuration Table. Use the RTEMS provided accessor macros to obtain + configuration fields. + +2007-12-04 Joel Sherrill + + * startup/bspstart.c: Move interrupt_stack_size field from CPU Table to + Configuration Table. Eliminate CPU Table from all ports. Delete + references to CPU Table in all forms. + +2007-12-03 Joel Sherrill + + * Makefile.am, startup/bspstart.c: Moved most of the remaining CPU + Table fields to the Configuration Table. This included + pretasking_hook, predriver_hook, postdriver_hook, idle_task, + do_zero_of_workspace, extra_mpci_receive_server_stack, + stack_allocate_hook, and stack_free_hook. As a side-effect of this + effort some multiprocessing code was made conditional and some style + clean up occurred. + +2007-05-03 Joel Sherrill + + * startup/linkcmds: Handle .data.* sections + +2007-04-12 Ralf Corsépius + + * bsp_specs: Remove qrtems_debug. + +2006-12-02 Ralf Corsépius + + * configure.ac: New BUG-REPORT address. + +2006-11-15 Joel Sherrill + + * Makefile.am: Merge c_rtems_main() into boot_card(). This eliminated a + file and simplified initialization. + +2006-10-17 Ralf Corsépius + + * Makefile.am: Remove superfluous -DASM. + +2006-10-17 Ralf Corsépius + + * configure.ac: Require autoconf-2.60. Require automake-1.10. + +2006-02-08 Joel Sherrill + + * startup/linkcmds: Add sections required by newer gcc versions. + +2006-01-11 Ralf Corsepius + + * Makefile.am: Add preinstall.am. + +2005-05-26 Ralf Corsepius + + * include/bsp.h: New header guard. + +2005-05-11 Joel Sherrill + + * startup/linkcmds: Add .rodata.* sections. + +2005-03-07 Joel Sherrill + + * Makefile.am: Add timerstub so more tests link. + +2005-03-07 Joel Sherrill + + * startup/linkcmds: Hacked so there is enough memory to link pppd.exe. + +2005-01-07 Ralf Corsepius + + * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V. + +2005-01-02 Ralf Corsepius + + * Makefile.am: Remove build-variant support. + +2004-09-29 Joel Sherrill + + * include/bsp.h, include/tm27.h: i960 obsoleted and all references + removed. + +2004-09-24 Ralf Corsepius + + * configure.ac: Require automake > 1.9. + +2004-04-23 Ralf Corsepius + + PR 610/bsps + * Makefile.am: Add include/tm27.h, Cosmetics. + * include/tm27.h: Final cosmetics. + +2004-04-22 Ralf Corsepius + + * include/bsp.h: Split out tmtest27 support. + * include/tm27.h: New. + +2004-04-21 Ralf Corsepius + + PR 613/bsps + * include/bsp.h: Remove MAX_LONG_TEST_DURATION. + +2004-04-21 Ralf Corsepius + + PR 614/bsps + * include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused). + +2004-04-01 Ralf Corsepius + + * include/bsp.h: Include instead of . + * include/bsp.h: Include instead of . + * include/bsp.h: Include instead of . + +2004-03-31 Ralf Corsepius + + * include/bsp.h, startup/bspstart.c: Convert to using c99 fixed size + types. + +2004-02-19 Ralf Corsepius + + * Makefile.am: Reflect changes to bsp.am. + Preinstall dist_project_lib*. + +2004-02-14 Ralf Corsepius + + * Makefile.am: Reflect changes to bsp.am. + +2004-02-12 Ralf Corsepius + + * Makefile.am: Use CPPASCOMPILE instead of CCASCOMPILE. + +2004-01-28 Ralf Corsepius + + * Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am, + start/Makefile.am, startup/Makefile.am, wrapup/Makefile.am. + * clock/Makefile.am, console/Makefile.am, start/Makefile.am, + startup/Makefile.am, wrapup/Makefile.am: Remove. + Use automake compilation rules. + * configure.ac: Reflect changes above. + +2004-01-21 Ralf Corsepius + + * Makefile.am: Add PREINSTALL_DIRS. + +2004-01-14 Ralf Corsepius + + * start/Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES. + Add PRE/TMPINSTALL_FILES to CLEANFILES. + * startup/Makefile.am: Ditto. + +2004-01-05 Ralf Corsepius + + * wrapup/Makefile.am: Eliminate $(LIB). + Use noinst_DATA to trigger building libbsp.a. + +2003-12-13 Ralf Corsepius + + * start/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g. + * startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g. + +2003-12-12 Ralf Corsepius + + * start/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. + * startup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES. + +2003-12-12 Ralf Corsepius + + * configure.ac: Require automake >= 1.8, autoconf >= 2.59. + +2003-12-10 Ralf Corsepius + + * clock/Makefile.am: Misc cleanups and fixes. + * start/Makefile.am: Misc cleanups and fixes. + * startup/Makefile.am: Misc cleanups and fixes. + * wrapup/Makefile.am: Misc cleanups and fixes. + +2003-12-02 Ralf Corsepius + + * Makefile.am: Add dirstamps to preinstallation. + * clock/Makefile.am: Cosmetics. + * console/Makefile.am: Cosmetics. + * startup/Makefile.am: Cosmetics. + * wrapup/Makefile.am: Cosmetics. + +2003-12-02 Ralf Corsepius + + * clock/Makefile.am: Remove all-local: $(ARCH). + * console/Makefile.am: Remove all-local: $(ARCH). + * start/Makefile.am: Remove all-local: $(ARCH). + * startup/Makefile.am: Remove all-local: $(ARCH). + * wrapup/Makefile.am: Remove all-local: $(ARCH). + +2003-09-29 Ralf Corsepius + + * Makefile.am: Merge-in include/Makefile.am. + Reflect changes to bsp.am. + * include/Makefile.am: Remove. + * configure.ac: Reflect changes above. + +2003-09-08 Ralf Corsepius + + * bsp_specs: Remove *lib:. + +2003-09-04 Joel Sherrill + + * console/console-io.c, include/bsp.h, startup/bspstart.c: URL for + license changed. + +2003-08-18 Ralf Corsepius + + * Makefile.am: Reflect having moved aclocal/. + +2003-08-16 Ralf Corsepius + + * Makefile.am: Reflect having moved automake/. + * clock/Makefile.am: Reflect having moved automake/. + * console/Makefile.am: Reflect having moved automake/. + * include/Makefile.am: Reflect having moved automake/. + * start/Makefile.am: Reflect having moved automake/. + * startup/Makefile.am: Reflect having moved automake/. + * wrapup/Makefile.am: Reflect having moved automake/. + +2003-08-11 Ralf Corsepius + + * configure.ac: Use rtems-bugs@rtems.com as bug report email address. + +2003-08-06 Ralf Corsepius + + PR 445/bsps + * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp. + Remove cpp, old_cpp (now unused). + +2003-03-06 Ralf Corsepius + + * configure.ac: Remove AC_CONFIG_AUX_DIR. + +2003-02-11 Ralf Corsepius + + * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). + +2003-02-11 Ralf Corsepius + + * configure.ac: AC_PREREQ(2.57). + +2003-01-20 Joel Sherrill + + * startup/linkcmds: Add FreeBSD SYSCTL() sections for networking. + +2002-12-13 Ralf Corsepius + + * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg. + * console/Makefile.am: Don't include @RTEMS_BSP@.cfg. + * start/Makefile.am: Don't include @RTEMS_BSP@.cfg. + * startup/Makefile.am: Don't include @RTEMS_BSP@.cfg. + +2002-12-12 Ralf Corsepius + + * start/Makefile.am: Use install-data-local to install startfile. + +2002-12-10 Ralf Corsepius + + * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg. + +2002-11-06 Ralf Corsepius + + * startup/bspstart.c: Add empty H8BD_Install_IRQ so the port will have + a routine to call. + +2002-11-05 Ralf Corsepius + + * startup/bspstart.c: Remove ramStart to eliminate warning. + +2002-10-21 Ralf Corsepius + + * .cvsignore: Reformat. + Add autom4te*cache. + Remove autom4te.cache. + +2002-08-21 Joel Sherrill + + * bsp_specs: Added support for -nostdlibs. + +2002-08-11 Ralf Corsepius + + * clock/Makefile.am: Use .$(OBJEXT) instead of .o. + * console/Makefile.am: Use .$(OBJEXT) instead of .o. + * start/Makefile.am: Use .$(OBJEXT) instead of .o. + * startup/Makefile.am: Use .$(OBJEXT) instead of .o. + * wrapup/Makefile.am: Use .$(OBJEXT) instead of .o. + +2002-08-05 Joel Sherrill + + * startup/bspstart.c, startup/linkcmds: Per PR247 , fix the linkcmds + to avoid overlapping sections and reworked the way the heap and + workspace are calculated. + +2002-07-21 Ralf Corsepius + + * start/Makefile.am: Eliminate PGM. + Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o. + +2002-07-19 Ralf Corsepius + + * startup/Makefile.am: Add bsplib_DATA = linkcmds. + +2002-07-04 Ralf Corsepius + + * wrapup/Makefile.am: Eliminate TMPINSTALL_FILES. + Remove $(OBJS) from all-local. + +2002-07-04 Ralf Corsepius + + * wrapup/Makefile.am: Add $(LIB) to all-local. + +2002-06-29 Ralf Corsepius + + * wrapup/Makefile.am: Remove preinstallation of libbsp.a, + +2002-03-27 Ralf Corsepius + + * configure.ac: + AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS). + AM_INIT_AUTOMAKE([no-define foreign 1.6]). + * clock/Makefile.am: Remove AUTOMAKE_OPTIONS. + * Makefile.am: Remove AUTOMAKE_OPTIONS. + * console/Makefile.am: Remove AUTOMAKE_OPTIONS. + * include/Makefile.am: Remove AUTOMAKE_OPTIONS. + * start/Makefile.am: Remove AUTOMAKE_OPTIONS. + * startup/Makefile.am: Remove AUTOMAKE_OPTIONS. + * wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS. + +2002-01-03 Ralf Corsepius + + * console/console-io.c: Include rtems/bspIo.h instead of bspIo.h. + +2001-12-22 Ralf Corsepius + + * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu, + replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g. + +2001-12-22 Ralf Corsepius + + * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu, + replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g. + +2001-11-30 Ralf Corsepius + + * configure.ac: Introduce RTEMS_BSP_CONFIGURE. + +2001-10-12 Joel Sherrill + + * console/console-io.c: Fixed typo. + +2001-10-11 Ralf Corsepius + + * .cvsignore: Add autom4te.cache for autoconf > 2.52. + * configure.in: Remove. + * configure.ac: New file, generated from configure.in by autoupdate. + +2001-09-27 Joel Sherrill + + * include/bsp.h: Renamed delay() to rtems_bsp_delay(). + +2001-09-27 Ralf Corsepius + + * include/Makefile.am: Use 'CLEANFILES ='. + * include/Makefile.am: Use 'TMPINSTALL_FILES ='. + +2001-05-26 Ralf Corsepius + + * configure.in: Add bspopts.h. + * include/.cvsignore: Add bspopts.h*, stamp-h*. + * include/Makefile.am: Use *_HEADERS instead of *H_FILES. + * include/bsp.h: Include bspopts.h. + +2001-05-10 Ralf Corsepius + + * configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]). + +2001-01-03 Joel Sherrill + + * console/console-io.c: Added console_initialize_hardware(). + +2000-11-09 Ralf Corsepius + + * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. + +2000-11-09 Joel Sherrill + + * configure.in, Makefile.am, clock/Makefile.am, clock/.cvsignore, + wrapup/Makefile.am: Added include of stub clock driver so ticker + would link. + +2000-11-02 Ralf Corsepius + + * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. + +2000-11-01 Joel Sherrill + + * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h, and + libcsupport.h moved from libc to lib/include/rtems and + now must be referenced as . Header file order + was cleaned up while doing this. + +2000-10-27 Ralf Corsepius + + * Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. + Switch to GNU canonicalization. + +2000-09-04 Ralf Corsepius + + * console/Makefile.am, start/Makefile.am, startup/Makefile.am, + wrapup/Makefile.am: Include compile.am + +2000-08-10 Joel Sherrill + + * ChangeLog: New file. diff --git a/c/src/lib/libbsp/m32r/m32rsim/Makefile.am b/c/src/lib/libbsp/m32r/m32rsim/Makefile.am new file mode 100644 index 0000000000..c774745253 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/Makefile.am @@ -0,0 +1,48 @@ +## +## $Id$ +## + +ACLOCAL_AMFLAGS = -I ../../../../aclocal + +include $(top_srcdir)/../../../../automake/compile.am +include $(top_srcdir)/../../bsp.am + +include_bspdir = $(includedir)/bsp + +dist_project_lib_DATA = bsp_specs + +include_HEADERS = include/bsp.h +include_HEADERS += include/tm27.h + +nodist_include_HEADERS = include/bspopts.h +nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h +DISTCLEANFILES = include/bspopts.h +noinst_PROGRAMS = + +nodist_include_HEADERS += ../../shared/include/coverhd.h + +EXTRA_DIST = start/start.S +start.$(OBJEXT): start/start.S + $(CPPASCOMPILE) -o $@ -c $< +project_lib_DATA = start.$(OBJEXT) + +dist_project_lib_DATA += startup/linkcmds + +startup_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \ + ../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \ + ../../shared/bspgetworkarea.c ../../shared/bsppost.c \ + ../../shared/bspstart.c ../../shared/bootcard.c ../../shared/sbrk.c \ + ../../shared/gnatinstallhandler.c +clock_SOURCES = ../../shared/clock_driver_simidle.c +console_SOURCES = ../../shared/console-polled.c console/console-io.c \ + console/trap0.S +timer_SOURCES = ../../shared/timerstub.c + +noinst_LIBRARIES = libbsp.a +libbsp_a_SOURCES = $(startup_SOURCES) $(clock_SOURCES) $(console_SOURCES) \ + $(timer_SOURCES) + +EXTRA_DIST += times + +include $(srcdir)/preinstall.am +include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/m32r/m32rsim/bsp_specs b/c/src/lib/libbsp/m32r/m32rsim/bsp_specs new file mode 100644 index 0000000000..27832e8b62 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/bsp_specs @@ -0,0 +1,15 @@ +%rename endfile old_endfile +%rename startfile old_startfile +%rename link old_link + +*startfile: +%{!qrtems: %(old_startfile)} \ +%{!nostdlib: %{qrtems: start.o%s crtinit.o%s}} + +*endfile: +%{!qrtems: %(old_endfile)} \ +%{!nostdlib: %{qrtems: crtfini.o%s}} + +*link: +%(old_link) %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start} + diff --git a/c/src/lib/libbsp/m32r/m32rsim/configure.ac b/c/src/lib/libbsp/m32r/m32rsim/configure.ac new file mode 100644 index 0000000000..cd81ba97a0 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/configure.ac @@ -0,0 +1,22 @@ +## Process this file with autoconf to produce a configure script. +## +## $Id$ + +AC_PREREQ(2.60) +AC_INIT([rtems-c-src-lib-libbsp-h8300-h8sim],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla]) +AC_CONFIG_SRCDIR([bsp_specs]) +RTEMS_TOP(../../../../../..) + +RTEMS_CANONICAL_TARGET_CPU +AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.10]) +RTEMS_BSP_CONFIGURE + +RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]) +RTEMS_CANONICALIZE_TOOLS +RTEMS_PROG_CCAS + +BSP_BOOTCARD_OPTIONS + +# Explicitly list all Makefiles here +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/c/src/lib/libbsp/m32r/m32rsim/console/console-io.c b/c/src/lib/libbsp/m32r/m32rsim/console/console-io.c new file mode 100644 index 0000000000..77d2e804eb --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/console/console-io.c @@ -0,0 +1,86 @@ +/* + * This file contains the hardware specific portions of the TTY driver + * for the serial ports on the erc32. + * + * 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.com/license/LICENSE. + * + * $Id$ + */ + +#include +#include +#include +#include +#include + +/* 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 + +int __trap0 (int function, int p1, int p2, int p3, struct _reent *r); + +#define TRAP0(f, p1, p2, p3) \ +__trap0 (f, (int) (p1), (int) (p2), (int) (p3), _REENT) + +void sys_exit(void) +{ + TRAP0(SYS_exit, 0, 0, 0); +} + +/* + * 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. + */ +void console_outbyte_polled( + int port, + char ch +) +{ + TRAP0(SYS_write, 1, &ch, 1); +} + +/* + * console_inbyte_nonblocking + * + * This routine polls for a character. + */ + +int console_inbyte_nonblocking( + int port +) +{ + return -1; +} + +#include + +void console_output_char(char c) { console_outbyte_polled( 0, c ); } + +BSP_output_char_function_type BSP_output_char = console_output_char; +BSP_polling_getchar_function_type BSP_poll_char = NULL; diff --git a/c/src/lib/libbsp/m32r/m32rsim/console/syscalls.S b/c/src/lib/libbsp/m32r/m32rsim/console/syscalls.S new file mode 100644 index 0000000000..604d4d9cb3 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/console/syscalls.S @@ -0,0 +1,43 @@ +/* + * System call support for simulator in gdb. + * Adapted from newlib 1.16.0. + * + * $Id$ + */ + +#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 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) + + .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/c/src/lib/libbsp/m32r/m32rsim/console/trap0.S b/c/src/lib/libbsp/m32r/m32rsim/console/trap0.S new file mode 100644 index 0000000000..04efa13bab --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/console/trap0.S @@ -0,0 +1,16 @@ +; Trap 0 handler (syscall interface). +; +; The trap handler returns the result in r0 and the error code (errno value) +; in r2. r1 is reserved in case an 8 byte quantity ever needs to be +; returned in registers. + + .text + .global __trap0 +__trap0: + trap #0 ; trap 0 returns result in r0, error code in r2 + cmpui r2,#1 ; is error code zero? + bc .Lret ; yes, skip setting errno + ld r4,@(sp) ; no, set errno + st r2,@r4 +.Lret: + jmp lr ; return to caller diff --git a/c/src/lib/libbsp/m32r/m32rsim/include/.cvsignore b/c/src/lib/libbsp/m32r/m32rsim/include/.cvsignore new file mode 100644 index 0000000000..eb2d61f966 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/include/.cvsignore @@ -0,0 +1,5 @@ +bspopts.h +bspopts.h.in +coverhd.h +stamp-h +stamp-h.in diff --git a/c/src/lib/libbsp/m32r/m32rsim/include/bsp.h b/c/src/lib/libbsp/m32r/m32rsim/include/bsp.h new file mode 100644 index 0000000000..5a1e679f84 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/include/bsp.h @@ -0,0 +1,55 @@ +/* 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.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _BSP_H +#define _BSP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include +#include +#include +#include + +/* support for simulated clock tick */ +Thread clock_driver_sim_idle_body(uintptr_t); +#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body + +/* + * Simple spin delay in microsecond units for device drivers. + * This is very dependent on the clock speed of the target. + */ + +#define rtems_bsp_delay( microseconds ) \ + { register uint32_t _delay=(microseconds); \ + register uint32_t _tmp = 0; /* initialized to avoid warning */ \ + asm volatile( "0: \ + remo 3,31,%0 ; \ + cmpo 0,%0 ; \ + subo 1,%1,%1 ; \ + cmpobne.t 0,%1,0b " \ + : "=d" (_tmp), "=d" (_delay) \ + : "0" (_tmp), "1" (_delay) ); \ + } + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/c/src/lib/libbsp/m32r/m32rsim/include/tm27.h b/c/src/lib/libbsp/m32r/m32rsim/include/tm27.h new file mode 100644 index 0000000000..971636b3a0 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/include/tm27.h @@ -0,0 +1,32 @@ +/* + * tm27.h + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + * + * $Id$ + */ + +#ifndef _RTEMS_TMTEST27 +#error "This is an RTEMS internal file you must not include directly." +#endif + +#ifndef __tm27_h +#define __tm27_h + +/* + * Define the interrupt mechanism for Time Test 27 + */ + +#define MUST_WAIT_FOR_INTERRUPT 0 + +#define Install_tm27_vector( handler ) /* set_vector( (handler), 6, 1 ) */ + +#define Cause_tm27_intr() /* XXX */ + +#define Clear_tm27_intr() /* XXX */ + +#define Lower_tm27_intr() /* empty */ + +#endif diff --git a/c/src/lib/libbsp/m32r/m32rsim/preinstall.am b/c/src/lib/libbsp/m32r/m32rsim/preinstall.am new file mode 100644 index 0000000000..73323b55bf --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/preinstall.am @@ -0,0 +1,67 @@ +## Automatically generated by ampolish3 - Do not edit + +if AMPOLISH3 +$(srcdir)/preinstall.am: Makefile.am + $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am +endif + +PREINSTALL_DIRS = +DISTCLEANFILES += $(PREINSTALL_DIRS) + +all-local: $(TMPINSTALL_FILES) + +TMPINSTALL_FILES = +CLEANFILES = $(TMPINSTALL_FILES) + +all-am: $(PREINSTALL_FILES) + +PREINSTALL_FILES = +CLEANFILES += $(PREINSTALL_FILES) + +$(PROJECT_LIB)/$(dirstamp): + @$(MKDIR_P) $(PROJECT_LIB) + @: > $(PROJECT_LIB)/$(dirstamp) +PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp) + +$(PROJECT_INCLUDE)/$(dirstamp): + @$(MKDIR_P) $(PROJECT_INCLUDE) + @: > $(PROJECT_INCLUDE)/$(dirstamp) +PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp) + +$(PROJECT_INCLUDE)/bsp/$(dirstamp): + @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp + @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp) +PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp) + +$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs +PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs + +$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h + +$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h + +$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h + +$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h + +$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h + +$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT) +TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT) + +$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds +PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds + diff --git a/c/src/lib/libbsp/m32r/m32rsim/start/start.S b/c/src/lib/libbsp/m32r/m32rsim/start/start.S new file mode 100644 index 0000000000..065e64db79 --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/start/start.S @@ -0,0 +1,58 @@ +/* + * From Newlib 1.16.0 + * + * $Id$ + */ + + .text + .balign 4 + .global _start +_start: + + seth sp, #shigh(_stack) + add3 sp, sp, #low(_stack) + ldi fp, #0 + +# Clear the BSS. Do it in two parts for efficiency: longwords first +# for most of it, then the remaining 0 to 3 bytes. + + seth r2, #shigh(__bss_start) + add3 r2, r2, #low(__bss_start); R2 = start of BSS + seth r3, #shigh(_end) + add3 r3, r3, #low(_end) ; R3 = end of BSS + 1 + + sub r3, r2 ; R3 = BSS size in bytes + mv r4, r3 + srli r4, #2 ; R4 = BSS size in longwords (rounded down) + ldi r1, #0 ; clear R1 for longword store + addi r2, #-4 ; account for pre-inc store + beqz r4, .Lendloop1 ; any more to go? +.Lloop1: + st r1, @+r2 ; yep, zero out another longword + addi r4, #-1 ; decrement count + bnez r4, .Lloop1 ; go do some more +.Lendloop1: + and3 r4, r3, #3 ; get no. of remaining BSS bytes to clear + addi r2, #4 ; account for pre-inc store + beqz r4, .Lendloop2 ; any more to go? +.Lloop2: + stb r1, @r2 ; yep, zero out another byte + addi r2, #1 ; bump address + addi r4, #-1 ; decrement count + bnez r4, .Lloop2 ; go do some more +.Lendloop2: + +# Run code in the .init section. +# This will queue the .fini section to be run with atexit. + + # bl __init + +# Call main, then exit. + + bl boot_card + bl sys_exit + +# If that fails just loop. + +.Lexit: + bra .Lexit diff --git a/c/src/lib/libbsp/m32r/m32rsim/startup/linkcmds b/c/src/lib/libbsp/m32r/m32rsim/startup/linkcmds new file mode 100644 index 0000000000..ef6a54c6be --- /dev/null +++ b/c/src/lib/libbsp/m32r/m32rsim/startup/linkcmds @@ -0,0 +1,238 @@ +/* + * $Id$ + */ + +/* + * Declare some sizes. + */ +RamBase = DEFINED(RamBase) ? RamBase : 0x000000; +RamSize = DEFINED(RamSize) ? RamSize : 0x800000; +HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0; +StackSize = DEFINED(StackSize) ? StackSize : 0x1000; + + +/* Default linker script, for normal executables */ +OUTPUT_FORMAT("elf32-m32r", "elf32-m32r", + "elf32-m32r") +OUTPUT_ARCH(m32r) +ENTRY(_start) +SEARCH_DIR("/home/joel/work-gnat/svn/m32r-install/m32r-elf/lib"); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = 0x100); . = 0x100; + .interp : { *(.interp) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + .hash : { *(.hash) } + .gnu.hash : { *(.gnu.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } + .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } + .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) } + .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } + .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } + .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } + .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) } + .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } + .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) } + .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } + .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) } + .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) } + .rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) } + .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) } + .rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) } + .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) } + .rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) } + .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) } + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + .init : + { + KEEP (*(.init)) + } =0 + .plt : { *(.plt) } + .text : + { + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } =0 + .fini : + { + KEEP (*(.fini)) + } =0 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } + .rodata1 : { *(.rodata1) } + .sdata2 : + { + *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) + } + .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } + /* Adjust the address for the data segment. We want to adjust up to + the same address within the page on the next page up. */ + . = ALIGN(32) + (. & (32 - 1)); + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } + .ctors : + { + /* 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)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section 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 *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } + .jcr : { KEEP (*(.jcr)) } + .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } + .dynamic : { *(.dynamic) } + .data : + { + *(.data .data.* .gnu.linkonce.d.*) + SORT(CONSTRUCTORS) + } + .data1 : { *(.data1) } + .got : { *(.got.plt) *(.got) } + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : + { + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + _edata = .; PROVIDE (edata = .); + __bss_start = .; + .sbss : + { + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. + FIXME: Why do we need it? When there is no .bss section, we don't + pad the .data section. */ + . = ALIGN(. != 0 ? 32 / 8 : 1); + } + . = ALIGN(32 / 8); + . = ALIGN(32 / 8); + _end = .; PROVIDE (end = .); + . = ALIGN(16); + + . += StackSize; + PROVIDE (_stack = .); + PROVIDE (WorkAreaBase = .); + . = 0x800000; + /* 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) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } + /* PROVIDE (_stack = 0x800000); */ + /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) } +} -- cgit v1.2.3