newlib/libgloss
Matthew Malcomson 6dbd190111 Enable return code with semi-hosting SYS_EXIT_EXTENDED
The _exit function currently passes -1 as a "sig" to the _kill function as an
invalid signal number so that _kill can distinguish between an abort and a
standard exit.

For boards using the SYS_EXIT_EXTENDED semi-hosting operation to return a
status code, this means that the "status" paramter to _exit is ignored and the
return code is always -1.
https://developer.arm.com/docs/100863/latest/semihosting-operations/sys_exit_extended-0x20

This patch puts shared code between _kill and _exit into a new function
_kill_shared that takes the semi-hosting "reason" to use (if semi-hosting is
available) as an argument.

For semi-hosting _kill_shared provides that "reason".

Without the "sig" argument being used to distinguish between a normal and
abnormal exit, the _exit function can provide the return code to be used if the
SYS_EXIT_EXTENDED operation is available.

Hence the exit code can be returned.
2018-11-19 13:46:19 +01:00
..
2018-10-31 11:14:57 +00:00
2017-06-14 14:51:22 +02:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2016-08-19 10:32:23 +02:00
2018-01-17 11:47:26 -06:00
2010-12-17 10:13:31 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2008-04-04 21:52:01 +00:00
2008-04-04 21:52:01 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2008-04-04 21:52:01 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2008-04-04 21:52:01 +00:00
2018-01-17 11:47:26 -06:00
2000-03-17 22:48:54 +00:00
2018-01-17 11:47:26 -06:00
2008-04-04 21:52:01 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2000-03-17 22:48:54 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2000-03-17 22:48:54 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2017-10-09 19:03:52 +02:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00
2000-03-17 22:48:54 +00:00
2018-01-17 11:47:26 -06:00
2018-01-17 11:47:26 -06:00

bfin	- Analog Devices Blackfin processor.
sparc	- Fujitsu Sparclite board. Works on the ex930, ex931, ex933
hp74x	- Hewlett Packard HP742 board. Also some support for the hp743.
m68hc11 - Motorola 68HC11 or 68HC12 support.
m68k	- Motorola MVME135 and IDP board. For CPU32 systems.
mep	- Toshiba Media Processor.
pa	- WinBond and Oki boards with a PA.
mips	- R3000 support. Array Tech LSI33k based RAID disk controller.
lm32    - Lattice Mico32 simulator.
epiphany - Adapteva Epiphany multicore processor.
or1k	- OpenRISC 1000 processor.