Commit Graph

5 Commits

Author SHA1 Message Date
Yuriy Kolerov b99f27c25f arc: libgloss: Prepare for porting to ARCv3
There are 3 families of Synopsys DeisgnWare ARC processors:
ARCompact/ARCv1 (32-bit), ARCv2 (32-bit) and ARCv3 (32-bit
and 64-bit targets). Upstream Newlib supports only ARCv1/2.
This commit prepares ARCv1/2 libgloss port to be reused by
ARCv3 port (except crt* files). Note that __ARC64__ macro
stands for all ARCv3 targets.

Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
2024-08-20 18:24:15 -04:00
Yuriy Kolerov 03f4e346f4 arc: libgloss: Use exit code in _exit_halt for nSIM
nSIM simulator supports exit codes. However, it's necessary
to pass an exit code to _exit_halt, otherwise it's undefined.

Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
2024-08-20 18:24:00 -04:00
Luis Silva 25d110dcbd arc: libgloss: Use fstat call instead of stat for nSIM
This change is needed to meet semi-hosting requirements
for nSIM GNU I/O interface.

Signed-off-by: Luis Silva <luis.m.silva99@hotmail.com>
2024-05-22 14:25:37 -04:00
Claudiu Zissulescu f84fed5291 arc: libgloss: Use long calls attribute for exit_halt
According to GCC documentation for ARC, a function marked with
the long_call attribute is always called using register-indirect
jump-and-link instructions, thereby enabling the called function
to be placed anywhere within the 32-bit address space.

exit_halt function is provided by crt0.S and it's used
in nsim-syscalls.c. Thus, we want to ensure that a linkage
issue will not arise.

Signed-off-by: Claudiu Zissulescu <claziss@gmail.com>
2024-05-22 14:22:06 -04:00
Anton Kolesov acdfcb0a0a Add support for ARC to libgloss
ChangeLog:
2015-11-12  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* configure.in: Add ARC support to libgloss.
	* configure: Regenerate.

libgloss/ChangeLog:
2015-11-12  Anton Kolesov  <Anton.Kolesov@synopsys.com>

	* configure: Add ARC support.
	* configure.in: Likewise.
	* arc/Makefile.in: Likewise.
	* arc/aclocal.m4: Likewise.
	* arc/configure: Likewise.
	* arc/configure.in: Likewise.
	* arc/crt0.S: Likewise.
	* arc/libcfunc.c: Likewise.
	* arc/nsim-syscall.h: Likewise.
	* arc/nsim-syscalls.c: Likewise.
	* arc/nsim.specs: Likewise.
	* arc/sbrk.c: Likewise.
2015-11-12 14:11:47 +01:00