Commit: Libgloss: MSP430: Add interrupt vector support & libcrt

Nick Clifton nickc@redhat.com
Wed Sep 18 07:35:00 GMT 2013


Hi Guys,

  I am checking in the attached patch to add support for two new features
  to the MSP430 port of libgloss.  The first is support for interrupt
  handlers written in C, including the ability to specify a specific
  interrupt vector for the handler.  (Gcc generates a section name based
  on the interrupt vector and the MSP430 linker scripts ensure that they
  are then mapped to the correct address).

  The other feature is a libcrt0.a which can replace crt0.o.  The idea
  here is that since libcrt0.a is a library, only the specific pieces of
  code needed by the application will be linked into the executable.
  So, for example, if the application has no data in the .bss section,
  then the code to initialise .bss will be omitted from the executable.
  This helps to reduce the size of the executable, which is quite
  important for a small part like the MSP430.

  Cheers
    Nick

libgloss/ChangeLog
2013-09-18  Nick Clifton  <nickc@redhat.com>

	* msp430/Makefile.in (SCRIPTS): Add intr_vectors.ld.
	(LIB_CRT): New.
	(CRT_OBJS): New.
	(all): Add dependency upon LIB_CRT.
	(install): Likewise.
	* msp430/msp430-sim.ld: Include intr_vectors.ld.
	KEEP crt code, lowtext code and tm_clone_table.
	Separate the noinit section from the .bss section.
	Allow for extended .debug_line sections.
	* msp430/msp430.ld: Likewise.
	* msp430/msp430F5438A-l.ld: Likewise.
	* msp430/msp430F5438A-s.ld: Likewise.
	* msp430/msp430xl-sim.ld: Likewise
.	* msp430/crt_movedata.S: New.
	* msp430/crt_bss.S: New.
	* msp430/intr_vectors.ld: New.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: msp430.size.libgloss.patch.xz
Type: application/x-xz
Size: 3184 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20130918/8d0dd2fb/attachment.xz>


More information about the Newlib mailing list