[patch] Arm Thumb-2 support

Paul Brook paul@codesourcery.com
Tue Feb 7 17:18:00 GMT 2006


The attached patch allows building Arm newlib/libgloss in Thumb-2 mode. Future 
Arm CPUs will implement Thumb-2 only and not Arm mode, so the existing Thumb 
support is not sufficient. The patch makes two changes:

- Add pure Thumb-2 startup code.
- Use the BKPT instruction instead of SWI for semihosted syscalls.

Tested with cross to arm-none-eabi.
Ok?

Paul

2006-02-07  Paul Brook  <paul@codesourcery.com>

libgloss/
	* arm/crt0.S: Add Thumb-2 startup code.
	* arm/redboot-crt0.S: Ditto.
	* arm/libcfunc.c (do_AngelSWI): Use AngelSWIInsn.
	* arm/swi.h (AngelSWIInsn, AngelSWIAsm): Define.
	* arm/trap.S: Disable for Thumb-2.
newlib/
	* libc/machine/arm/setjmp.S: Add Thumb-2 support.
	* libc/sys/arm/crt0.S: Add Thumb-2 startup code.
	* libc/sys/arm/libcfunc.c (do_AngelSWI): Use AngelSWIInsn.
	* libc/sys/arm/swi.h (AngelSWIInsn, AngelSWIAsm): Define.
	* libc/sys/arm/trap.S: Disable for Thumb-2.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.newlib_thumb2
Type: text/x-diff
Size: 12695 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20060207/309a9500/attachment.bin>


More information about the Newlib mailing list