diff options
| author | Waldemar Brodkorb <wbx@openadk.org> | 2015-02-14 23:23:50 -0600 | 
|---|---|---|
| committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-05 21:16:11 +0100 | 
| commit | 9e360dcc057030f1a5b06971af691f8d1687b635 (patch) | |
| tree | 2c7433104dae96e87957c147e3bd89768610fff1 | |
| parent | 383a059a280444c6e914620adfdf05b5bd728a45 (diff) | |
good by nios
Get rid of NIOS support. We try to support NIOSII.
36 files changed, 0 insertions, 2208 deletions
@@ -467,13 +467,7 @@ $(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARG  	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)  endif -#ifeq ($(TARGET_ARCH),nios) -#CRTS_COMPAT := $(top_builddir)lib/crt0.o -#$(CRTS_COMPAT): -#	ln -fs crt1.o $(top_builddir)lib/crt0.o -#else  CRTS_COMPAT := -#endif  startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)  startfiles: $(startfiles) @@ -406,12 +406,6 @@ ifeq ($(TARGET_ARCH),mips)  	CPU_LDFLAGS-y += $(CPU_CFLAGS)  endif -ifeq ($(TARGET_ARCH),nios) -	OPTIMIZATION+=-funaligned-struct-hack -	CPU_LDFLAGS-y+=-Wl,-m32 -	CPU_CFLAGS-y+=-Wl,-m32 -endif -  ifeq ($(TARGET_ARCH),sh)  $(eval $(call check-gcc-var,-mprefergot))  	OPTIMIZATION += $(CFLAG_-mprefergot) diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 48df4b742..9e6d09590 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -32,7 +32,6 @@ choice  	default TARGET_metag if DESIRED_TARGET_ARCH = "metag"  	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"  	default TARGET_mips if DESIRED_TARGET_ARCH = "mips" -	default TARGET_nios if DESIRED_TARGET_ARCH = "nios"  	default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2"  	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"  	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc" @@ -100,9 +99,6 @@ config TARGET_microblaze  config TARGET_mips  	bool "mips" -#config TARGET_nios -#	bool "nios" -  config TARGET_nios2  	bool "nios2" @@ -188,10 +184,6 @@ if TARGET_metag  source "extra/Configs/Config.metag"  endif -if TARGET_nios -source "extra/Configs/Config.nios" -endif -  if TARGET_nios2  source "extra/Configs/Config.nios2"  endif diff --git a/extra/Configs/Config.nios b/extra/Configs/Config.nios deleted file mode 100644 index 639cd35e2..000000000 --- a/extra/Configs/Config.nios +++ /dev/null @@ -1,17 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see extra/config/Kconfig-language.txt -# - -config TARGET_ARCH -	string -	default "nios" - -config FORCE_OPTIONS_FOR_ARCH -	bool -	default y -	select ARCH_LITTLE_ENDIAN -	select ARCH_HAS_NO_MMU -	select ARCH_HAS_NO_LDSO -	select ARCH_HAS_DEPRECATED_SYSCALLS -	select HAVE_NO_PIC diff --git a/extra/Configs/defconfigs/nios/defconfig b/extra/Configs/defconfigs/nios/defconfig deleted file mode 100644 index 2a110b893..000000000 --- a/extra/Configs/defconfigs/nios/defconfig +++ /dev/null @@ -1 +0,0 @@ -TARGET_nios=y diff --git a/libc/sysdeps/linux/nios/Makefile b/libc/sysdeps/linux/nios/Makefile deleted file mode 100644 index 3970f6263..000000000 --- a/libc/sysdeps/linux/nios/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -top_srcdir=../../../../ -top_builddir=../../../../ -all: objs -include $(top_builddir)Rules.mak -include Makefile.arch -include $(top_srcdir)Makerules diff --git a/libc/sysdeps/linux/nios/Makefile.arch b/libc/sysdeps/linux/nios/Makefile.arch deleted file mode 100644 index 75f40796e..000000000 --- a/libc/sysdeps/linux/nios/Makefile.arch +++ /dev/null @@ -1,12 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> -# -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. -# - -CSRC-y := brk.c crtbegin.c crtend.c - -SSRC-y := \ -	__longjmp.S bsd-_setjmp.S bsd-setjmp.S setjmp.S \ -	clone.S vfork.S diff --git a/libc/sysdeps/linux/nios/NM_Macros.S b/libc/sysdeps/linux/nios/NM_Macros.S deleted file mode 100644 index da6136593..000000000 --- a/libc/sysdeps/linux/nios/NM_Macros.S +++ /dev/null @@ -1,473 +0,0 @@ - -;------------------------------ -; Macros I: Faux Instructions -; -; The following "faux instructions" are -; implemented here as macros: -; -; MOVIP register,constant		MOVI with optional PFX & MOVHI, or BGEN -; ADDIP register,constant		PFX and ADDI with optional PFX -; SUBIP register,constant		PFX and SUBI with optional PFX -; CMPIP register,constant		PFX and CMPI with optional PFX -; -; MOVI16 register,constant		PFX and MOVI -; MOVI32 register,constant		PFX, MOVI, PFX, and MOVHI -; MOVIA  register,constant		PFX and MOVHI on Nios32, and PFX and MOVI -; -; ANDIP register,constant		PFX and ANDI -; ANDNIP register,constant		PFX and ANDN -; ORIP register,constant		PFX and ORI -; XORIP register,constant		PFX and XORI -; -; _BSR address						MOVIP address to %g7, and CALL -; _BR address						MOVIP address to %g7, and JMP -; -; BEQ address						SKPS cc_nz and BR, has delay slot -; BNE address						SKPS cc_z and BR, has delay slot -; BLE address						SKPS cc_gt and BR, has delay slot -; BLT address						SKPS cc_ge and BR, has delay slot -; RESTRET							RESTORE and JMP %i7  -; -;------------------------------- -; Macros II: Printing -; -; These macros are guaranteed *not* -; to have branch delay slot after them. -; -; NM_PrintChar char -; NM_Print "string" -; NM_PrintLn "string"			Follows it with a carriage return -; NM_PrintRegister reg			For debugging, prints register name & value -; -;------------------------------- -; Macros III: Inline Debugging -; -; These macros print various information -; using large sections of expanded inline code. -; They each use either few or no registers. -; Thus, they may be safely used in interrupt handlers. -; -; NM_D_TxChar char			print char to UART, affects no registers -; NM_D_TxRegister char,char,register	prints the two characters, and the hex register value - -; -------------------------------------- - - -		.macro	_pfx_op	OP,reg,val,pForce=0 -		.if		(\pForce) || ((\val) > (31)) || ((\val) < (0)) -		PFX		%hi(\val) -		.endif -		\OP		\reg,%lo(\val) -		.endm - -		.macro	_bgen reg,val,bit -		.if ((\val)==(1<<\bit)) -		BGEN	\reg,\bit -		.equ	_bgenBit,1 -		.endif -		.endm - -	;------------------------ -	; MOVIP %reg,32-bit-value -		.macro	MOVIP reg,val -		; Methodically test every BGEN possibility... -		.equ	_bgenBit,0 -.if 1 -		_bgen \reg,\val,0 -		_bgen \reg,\val,1 -		_bgen \reg,\val,2 -		_bgen \reg,\val,3 -		_bgen \reg,\val,4 -		_bgen \reg,\val,5 -		_bgen \reg,\val,6 -		_bgen \reg,\val,7 -		_bgen \reg,\val,8 -		_bgen \reg,\val,9 -		_bgen \reg,\val,10 -		_bgen \reg,\val,11 -		_bgen \reg,\val,12 -		_bgen \reg,\val,13 -		_bgen \reg,\val,14 -		_bgen \reg,\val,15 -		_bgen \reg,\val,16 -		_bgen \reg,\val,17 -		_bgen \reg,\val,18 -		_bgen \reg,\val,19 -		_bgen \reg,\val,20 -		_bgen \reg,\val,21 -		_bgen \reg,\val,22 -		_bgen \reg,\val,23 -		_bgen \reg,\val,24 -		_bgen \reg,\val,25 -		_bgen \reg,\val,26 -		_bgen \reg,\val,27 -		_bgen \reg,\val,28 -		_bgen \reg,\val,29 -		_bgen \reg,\val,30 -		_bgen \reg,\val,31 - -		; If no bgen fit... -.endif -		.if !_bgenBit -			.if ((\val) & 0xFFE0) -				PFX %hi(\val) -			.endif -			MOVI \reg,%lo(\val) -			.if __nios32__ -				.if ((\val) & 0xffff0000) -					.if ((\val) & 0xFFE00000) -						PFX %xhi(\val) -					.endif -					MOVHI \reg,%xlo(\val) -				.endif -			.endif -		.endif - -		.endm - -	; ADDIP %reg,16-bit-value -		.macro	ADDIP reg,val -		_pfx_op	ADDI,\reg,\val -		.endm - -	; SUBIP %reg,16-bit-value -		.macro	SUBIP reg,val -		_pfx_op	SUBI,\reg,\val -		.endm - -	; CMPIP %reg,16-bit-value -		.macro	CMPIP reg,val -		_pfx_op	CMPI,\reg,\val -		.endm - -	; ANDIP %reg,16-bit-value -		.macro	ANDIP reg,val -		PFX		%hi(\val) -		AND		\reg,%lo(\val) -		.endm - -	; ANDNIP %reg,16-bit-value -		.macro	ANDNIP reg,val -		PFX		%hi(\val) -		ANDN		\reg,%lo(\val) -		.endm - -	; ORIP %reg,16-bit-value -		.macro	ORIP reg,val -		PFX		%hi(\val) -		OR			\reg,%lo(\val) -		.endm - -	; XORIP %reg,16-bit-value -		.macro	XORIP reg,val -		PFX		%hi(\val) -		XOR		\reg,%lo(\val) -		.endm - -	; BEQ addr -		.macro	BEQ addr -		IFS		cc_eq -		BR			\addr -		.endm - -	; BNE addr -		.macro	BNE addr -		IFS		cc_ne -		BR			\addr -		.endm - -	; BLE addr -		.macro	BLE addr -		SKPS		cc_gt -		BR			\addr -		.endm - -	; BLT addr -		.macro	BLT addr -		SKPS		cc_ge -		BR			\addr -		.endm - -		.macro	digitToChar reg -		ANDIP	\reg,0x000f -		CMPI	\reg,10 -		SKPS	cc_lt -		ADDI	\reg,'A'-'0'-10 -		PFX		%hi('0') -		ADDI	\reg,%lo('0') -		.endm - -; PUSHRET == dec sp, and stash return addr -	.macro	PUSHRET -	SUBI		%sp,2 -	ST			[%sp],%o7 -	.endm -; POPRET == pop and jump -	.macro	POPRET -	LD			%o7,[%sp] -	JMP		%o7 -	ADDI		%sp,2		; branch delay slot -	.endm - -; RESTRET = restore & return -	.macro	RESTRET -	JMP		%i7 -	RESTORE -	.endm - -	;-------------------- -	; MOVI16 %reg,Address -	; -	.macro	MOVI16	reg,val -	PFX	%hi(\val) -	MOVI	\reg,%lo(\val) -	.endm - -	;-------------------- -	; MOVI32 %reg,Address -	; -	.macro	MOVI32	reg,val -	PFX	%hi(\val) -	MOVI	\reg,%lo(\val) -	PFX	%xhi(\val) -	MOVHI	\reg,%xlo(\val) -	.endm - -	;-------------------- -	; MOVIA %reg,Address -	; -	.macro	MOVIA		reg,val -	.if __nios32__ -		MOVI32 \reg,\val -	.else -		MOVI16 \reg,\val -	.endif -	.endm - -	;-------------------- -	; _BR - -	.macro _BR target,viaRegister=%g7 -	MOVIA	\viaRegister,\target@h -	JMP	\viaRegister -	.endm - -	;-------------------- -	; _BSR - -	.macro _BSR target,viaRegister=%g7 -	MOVIA	\viaRegister,\target@h -	CALL	\viaRegister -	.endm - -	;--------------------- -	; NM_Print "Your String Here" -	; -	.macro	NM_Print	string - -	BR		pastStringData\@ -	NOP - -stringData\@: -	.asciz	"\string" -	.align 1		; aligns by 2^n -pastStringData\@: -	MOVIA		%o0,stringData\@ -	_BSR		NR_TxString -	NOP -	.endm - -	.macro	NM_PrintLn string -	NM_Print	"\string" -	_BSR		NR_TxCR -	NOP -	.endm - -	.macro	NM_PrintRegister reg	; affects %g0 & %g1 & %g7, but thrashes the CWP a bit -	SAVE		%sp,-16 -	NM_Print	"\reg = " -	RESTORE -	MOV		%g0,\reg -	SAVE		%sp,-16 -	MOV		%o0,%g0 -	_BSR		NR_TxHex -	NOP -	_BSR		NR_TxCR -	NOP -	RESTORE -	.endm - -	.macro	NM_PrintChar char -	MOVIP		%o0,\char -	_BSR		NR_TxChar -	NOP -	.endm - -	.macro	NM_Print2Chars char1,char2 -	MOVIP		%o0,(\char2<<8)+\char1 -	_BSR		NR_TxChar -	NOP -	_BSR		NR_TxChar -	LSRI		%o0,8 -	.endm - - - -; --------------------------- -; Completely inline UART sends -; Send the char, or %g7 if not there. -; Trashes %g5 and %g6 and %g7... - -	.macro	NM_TxChar char=0 -;NM_D_Delay 1000 -	MOVIA	%g6,NA_UARTBase -txCharLoop\@: -	PFX	2 -.if \char -	LD	%g7,[%g6] -	SKP1	%g7,6 -.else -	LD	%g5,[%g6] -	SKP1	%g5,6 -.endif -	BR	txCharLoop\@ -	NOP -.if \char -	MOVIP	%g7,\char -.endif -	PFX	1 -	ST	[%g6],%g7 -;NM_D_Delay 4 -	.endm - -		.macro NM_TxCR -		NM_TxChar 13 -		NM_TxChar 10 -		.endm - -		.macro NM_TxHexDigit,reg,shift -		MOV		%g7,\reg -		LSRI		%g7,\shift -		ANDIP		%g7,0x000f -		CMPI		%g7,10 -		SKPS		cc_lt -		ADDIP		%g7,'A'-'0'-10 -		ADDIP		%g7,'0' -		NM_TxChar -		.endm - -		.macro NM_TxHex - -	.if __nios32__ -		NM_TxHexDigit %g0,28 -		NM_TxHexDigit %g0,24 -		NM_TxHexDigit %g0,20 -		NM_TxHexDigit %g0,16 -	.endif - -		NM_TxHexDigit %g0,12 -		NM_TxHexDigit %g0,8 -		NM_TxHexDigit %g0,4 -		NM_TxHexDigit %g0,0 -		.endm - - - - - - - - - - -; ---------------------- -; The following macros are -; rather mighty. They expand -; to large inline code for -; printing various things to -; the serial port. They are -; useful for debugging -; trap handlers, where you -; can't just go and call -; NR_TxChar and such, because, -; well, the CWP might be -; off limits! -; -; They do, however, presume -; that the stack is in good -; working order. - - -.macro NM_D_PushGRegisters - 	SUBIP %sp,16+69				; oddball number so if we accidentally see it, it looks funny. -	STS	[%sp,16+0],%g0 -	STS	[%sp,16+1],%g1 -	STS	[%sp,16+2],%g2 -	STS	[%sp,16+3],%g3 -	STS	[%sp,16+4],%g4 -	STS	[%sp,16+5],%g5 -	STS	[%sp,16+6],%g6 -	STS	[%sp,16+7],%g7 -	.endm - -.macro NM_D_PopGRegisters -	LDS	%g0,[%sp,16+0] -	LDS	%g1,[%sp,16+1] -	LDS	%g2,[%sp,16+2] -	LDS	%g3,[%sp,16+3] -	LDS	%g4,[%sp,16+4] -	LDS	%g5,[%sp,16+5] -	LDS	%g6,[%sp,16+6] -	LDS	%g7,[%sp,16+7] -	ADDIP	%sp,16+69				; must match the push -	.endm - - -.macro NM_D_TxChar	c -	SUBI	%sp,16+8		; 32 or 16 bit, that's enough space -	STS	[%sp,16+0],%g6 -	STS	[%sp,16+0],%g7 -	NM_TxChar \c -	LDS	%g6,[%sp,16+0] -	LDS	%g7,[%sp,16+1] -	ADDI	%sp,16+8 -	.endm - -.macro NM_D_TxChar3 c1,c2,c3 - NM_D_TxChar '<' - NM_D_TxChar \c1 - NM_D_TxChar \c2 - NM_D_TxChar \c3 - NM_D_TxChar '>' -.endm - -.macro NM_D_TxRegister r,n,reg - NM_D_PushGRegisters - NM_TxChar '(' - NM_TxChar \r - NM_TxChar \n - NM_TxChar ':' - MOV		%g0,\reg - NM_TxHex - NM_TxChar ')' - NM_D_PopGRegisters -.endm - -.macro NM_D_TxReg r,n,reg -	NM_D_TxRegister \r,\n,\reg -.endm - -; Do a delay loop, affects no registers. - -.macro NM_D_Delay d -	SUBI	%sp,16+4 -	STS	[%sp,16+0],%g0 -	MOVIP	%g0,\d -NM_D_DelayLoop\@: -	IFRnz	%g0 -	 BR	NM_D_DelayLoop\@ -	SUBI	%g0,1 -	LDS	%g0,[%sp,16+0] -	ADDI	%sp,16+4 -.endm - diff --git a/libc/sysdeps/linux/nios/NR_Math1.S b/libc/sysdeps/linux/nios/NR_Math1.S deleted file mode 100644 index 5d5169ba8..000000000 --- a/libc/sysdeps/linux/nios/NR_Math1.S +++ /dev/null @@ -1,63 +0,0 @@ - - -	.include "NM_Macros.S" - -	.file	"okmul.c" -gcc2_compiled.: -	.text -	.p2align 1 -	.globl __mulsi3 -	.type	 __mulsi3,@function -__mulsi3: - -	;SKP0	%o0,31 -	;NEG	%o1 -	;ABS	%o0 - -		.MACRO ZSTEP bit -		SKP0	%o0,\bit -		ADD	%g0,%o1 -		LSLI	%o1,1 -		.ENDM - -	MOVI	%g0,0 -	ZSTEP	0 -	ZSTEP	1 -	ZSTEP	2 -	ZSTEP	3 -	ZSTEP	4 -	ZSTEP	5 -	ZSTEP	6 -	ZSTEP	7 -	ZSTEP	8 -	ZSTEP	9 -	ZSTEP	10 -	ZSTEP	11 -	ZSTEP	12 -	ZSTEP	13 -	ZSTEP	14 -	ZSTEP	15 -	ZSTEP	16 -	ZSTEP	17 -	ZSTEP	18 -	ZSTEP	19 -	ZSTEP	20 -	ZSTEP	21 -	ZSTEP	22 -	ZSTEP	23 -	ZSTEP	24 -	ZSTEP	25 -	ZSTEP	26 -	ZSTEP	27 -	ZSTEP	28 -	ZSTEP	29 -	ZSTEP	30 -	ZSTEP	31 -	; No bit 31: we already set %o0 to positive - -	JMP	%o7 -	MOV	%o0,%g0 - -.Lfe1: -	.size	 __mulsi3,.Lfe1-__mulsi3 - diff --git a/libc/sysdeps/linux/nios/__longjmp.S b/libc/sysdeps/linux/nios/__longjmp.S deleted file mode 100644 index 5500c7b94..000000000 --- a/libc/sysdeps/linux/nios/__longjmp.S +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   see <http://www.gnu.org/licenses/>.  */ - -#include <jmpbuf-offsets.h> - -;---------------------------------------- -;         Name: __longjmp -;  Description: Restore the current context -;               as saved by a previous nr_setjmp -;        Input: %o0: jmp_buf (ptr to) array to restore context from -;               %o1: integer to return -;       Output: %o0 = 0 the first time we're called, or -;               whatever longjmp returns later -; Side Effects: uses %g0, %g1 & %g2 -;    CWP Depth: 0 -; - -	.align 2 -	.global	__longjmp -__longjmp: -	; -	; The way we'll do this is by executing -	; RESTORE instructions until the old -	; return address matches. Then we'll -	; jump to where setjmp was called from. -	; -	; Since we're moving the window pointer -	; all over the place, we'll naturally -	; only use the %g registers. -	; - -	mov	%g0,%o0		; %g0 -> jmp_buf -	mov	%g1,%o1		; %g1 = return value -	pfx	jmpbuf_callersret -	ld	%g2,[%g0]	; %g2 = old return address -__longjmp_loop: -	cmp	%g2,%i7		; Are we there yet? -	skps	cc_ne -	 br	__longjmp_done -	 nop			; (delay slot) - -	br	__longjmp_loop -	restore			; (delay slot) -	; -	; One might put in a watchdog counter here, to -	; prevent a runaway stack crawl... but what would that -	; accomplish? What error can we throw? To whom? -	; - -__longjmp_done: -	pfx	jmpbuf_l0	; Restore local register l0 -	ld	%l0,[%g0] -	pfx	jmpbuf_l1	; Restore local register l1 -	ld	%l1,[%g0] -	pfx	jmpbuf_l2	; Restore local register l2 -	ld	%l2,[%g0] -	pfx	jmpbuf_l3	; Restore local register l3 -	ld	%l3,[%g0] -	pfx	jmpbuf_l4	; Restore local register l4 -	ld	%l4,[%g0] -	pfx	jmpbuf_l5	; Restore local register l5 -	ld	%l5,[%g0] -	pfx	jmpbuf_l6	; Restore local register l6 -	ld	%l6,[%g0] -	pfx	jmpbuf_l7	; Restore local register l7 -	ld	%l7,[%g0] -	pfx	jmpbuf_i0	; Restore input register i0 -	ld	%i0,[%g0] -	pfx	jmpbuf_i1	; Restore input register i1 -	ld	%i1,[%g0] -	pfx	jmpbuf_i2	; Restore input register i2 -	ld	%i2,[%g0] -	pfx	jmpbuf_i3	; Restore input register i3 -	ld	%i3,[%g0] -	pfx	jmpbuf_i4	; Restore input register i4 -	ld	%i4,[%g0] -	pfx	jmpbuf_i5	; Restore input register i5 -	ld	%i5,[%g0] -	pfx	jmpbuf_jmpret -	ld	%o7,[%g0]	; set fake return address -	jmp	%o7		; and kinda return there. -	mov	%o0,%g1		; (delay slot) return value - -libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/nios/bits/endian.h b/libc/sysdeps/linux/nios/bits/endian.h deleted file mode 100644 index 34ea91f71..000000000 --- a/libc/sysdeps/linux/nios/bits/endian.h +++ /dev/null @@ -1,8 +0,0 @@ -/* nios is little-endian.  */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -/*mle */ -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/libc/sysdeps/linux/nios/bits/fcntl.h b/libc/sysdeps/linux/nios/bits/fcntl.h deleted file mode 100644 index 36ca766f5..000000000 --- a/libc/sysdeps/linux/nios/bits/fcntl.h +++ /dev/null @@ -1,237 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. -   Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   see <http://www.gnu.org/licenses/>.  */ - -#ifndef	_FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -#include <sys/types.h> -#ifdef __USE_GNU -# include <bits/uio.h> -#endif - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files -   located on an ext2 file system */ -#define O_ACCMODE	  0003 -#define O_RDONLY	    00 -#define O_WRONLY	    01 -#define O_RDWR		    02 -#define O_CREAT		  0100	/* not fcntl */ -#define O_EXCL		  0200	/* not fcntl */ -#define O_NOCTTY	  0400	/* not fcntl */ -#define O_TRUNC		 01000	/* not fcntl */ -#define O_APPEND	 02000 -#define O_NONBLOCK	 04000 -#define O_NDELAY	O_NONBLOCK -#define O_SYNC		010000 -#define O_FSYNC		O_SYNC -#define O_ASYNC		020000 - -#ifdef __USE_GNU -# define O_DIRECTORY	 040000	/* Must be a directory.	 */ -# define O_NOFOLLOW	0100000	/* Do not follow links.	 */ -# define O_DIRECT	0200000	/* Direct disk access.	*/ -#endif - -/* For now Linux has synchronisity options for data and read operations. -   We define the symbols here but let them do the same as O_SYNC since -   this is a superset.	*/ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC	O_SYNC	/* Synchronize data.  */ -# define O_RSYNC	O_SYNC	/* Synchronize read operations.	 */ -#endif - -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE	0400000 -#endif - -/* Values for the second argument to `fcntl'.  */ -#define F_DUPFD		0	/* Duplicate file descriptor.  */ -#define F_GETFD		1	/* Get file descriptor flags.  */ -#define F_SETFD		2	/* Set file descriptor flags.  */ -#define F_GETFL		3	/* Get file status flags.  */ -#define F_SETFL		4	/* Set file status flags.  */ -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK	5	/* Get record locking info.  */ -# define F_SETLK	6	/* Set record locking info (non-blocking).  */ -# define F_SETLKW	7	/* Set record locking info (blocking).	*/ -#else -# define F_GETLK	F_GETLK64  /* Get record locking info.	*/ -# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/ -# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */ -#endif -#define F_GETLK64	12	/* Get record locking info.  */ -#define F_SETLK64	13	/* Set record locking info (non-blocking).  */ -#define F_SETLKW64	14	/* Set record locking info (blocking).	*/ - -#if defined __USE_BSD || defined __USE_XOPEN2K -# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */ -# define F_GETOWN	9	/* Set owner of socket (receiver of SIGIO).  */ -#endif - -#ifdef __USE_GNU -# define F_SETSIG	10	/* Set number of signal to be sent.  */ -# define F_GETSIG	11	/* Get number of signal to be sent.  */ -#endif - -#ifdef __USE_GNU -# define F_SETLEASE	1024	/* Set a lease.	 */ -# define F_GETLEASE	1025	/* Enquire what lease is active.  */ -# define F_NOTIFY	1026	/* Request notfications on a directory.	 */ -# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with -				   close-on-exit set on new fd.  */ -# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */ -# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */ -#endif - -/* For F_[GET|SET]FL.  */ -#define FD_CLOEXEC	1	/* actually anything with low bit set goes */ - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */ -#define F_RDLCK		0	/* Read lock.  */ -#define F_WRLCK		1	/* Write lock.	*/ -#define F_UNLCK		2	/* Remove lock.	 */ - -/* for old implementation of bsd flock () */ -#define F_EXLCK		4	/* or 3 */ -#define F_SHLCK		8	/* or 4 */ - -#ifdef __USE_BSD -/* Operations for bsd flock(), also used by the kernel implementation */ -# define LOCK_SH	1	/* shared lock */ -# define LOCK_EX	2	/* exclusive lock */ -# define LOCK_NB	4	/* or'd with one of the above to prevent -				   blocking */ -# define LOCK_UN	8	/* remove lock */ -#endif - -#ifdef __USE_GNU -# define LOCK_MAND	32	/* This is a mandatory flock:	*/ -# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */ -# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */ -# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */ -#endif - -#ifdef __USE_GNU -/* Types of directory notifications that may be requested with F_NOTIFY.  */ -# define DN_ACCESS	0x00000001	/* File accessed.  */ -# define DN_MODIFY	0x00000002	/* File modified.  */ -# define DN_CREATE	0x00000004	/* File created.  */ -# define DN_DELETE	0x00000008	/* File removed.  */ -# define DN_RENAME	0x00000010	/* File renamed.  */ -# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */ -# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */ -#endif - -struct flock -  { -    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */ -    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */ -#ifndef __USE_FILE_OFFSET64 -    __off_t l_start;	/* Offset where the lock begins.  */ -    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */ -#else -    __off64_t l_start;	/* Offset where the lock begins.  */ -    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */ -#endif -    __pid_t l_pid;	/* Process holding the lock.  */ -  }; - -#ifdef __USE_LARGEFILE64 -struct flock64 -  { -    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */ -    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */ -    __off64_t l_start;	/* Offset where the lock begins.  */ -    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */ -    __pid_t l_pid;	/* Process holding the lock.  */ -  }; -#endif - -/* Define some more compatibility macros to be backward compatible with -   BSD systems which did not managed to hide these kernel macros.  */ -#ifdef	__USE_BSD -# define FAPPEND	O_APPEND -# define FFSYNC		O_FSYNC -# define FASYNC		O_ASYNC -# define FNONBLOCK	O_NONBLOCK -# define FNDELAY	O_NDELAY -#endif /* Use BSD.  */ - -/* Advise to `posix_fadvise'.  */ -#ifdef __USE_XOPEN2K -# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */ -# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */ -# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */ -# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */ -# define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */ -# define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */ -#endif - - -#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__ -/* Flags for SYNC_FILE_RANGE.  */ -# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages -					     in the range before performing the -					     write.  */ -# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those -					     dirty pages in the range which are -					     not presently under writeback.  */ -# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in -					     the range after performing the -					     write.  */ - -/* Flags for SPLICE and VMSPLICE.  */ -# define SPLICE_F_MOVE		1	/* Move pages instead of copying.  */ -# define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing -					   (but we may still block on the fd -					   we splice from/to).  */ -# define SPLICE_F_MORE		4	/* Expect more data.  */ -# define SPLICE_F_GIFT		8	/* Pages passed in are a gift.  */ -#endif - -__BEGIN_DECLS - -#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__ - -/* Provide kernel hint to read ahead.  */ -extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) -    __THROW; - - -/* Selective file content synch'ing.  */ -extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, -			    unsigned int __flags); - -/* Splice address range into a pipe.  */ -extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, -			 size_t __count, unsigned int __flags); - -/* Splice two files together.  */ -extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, -		       __off64_t *__offout, size_t __len, -		       unsigned int __flags); - -/* In-kernel implementation of tee for pipe buffers.  */ -extern ssize_t tee (int __fdin, int __fdout, size_t __len, -		    unsigned int __flags); - -#endif -__END_DECLS - diff --git a/libc/sysdeps/linux/nios/bits/kernel_types.h b/libc/sysdeps/linux/nios/bits/kernel_types.h deleted file mode 100644 index e66f42d7a..000000000 --- a/libc/sysdeps/linux/nios/bits/kernel_types.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Note that we use the exact same include guard #define names - * as asm/posix_types.h.  This will avoid gratuitous conflicts - * with the posix_types.h kernel header, and will ensure that - * our private content, and not the kernel header, will win. - *  -Erik - */ -#ifndef __ARCH_NIOS_POSIX_TYPES_H -#define __ARCH_NIOS_POSIX_TYPES_H - -typedef unsigned short	__kernel_dev_t; -typedef unsigned long	__kernel_ino_t; -typedef unsigned short	__kernel_mode_t; -typedef unsigned short	__kernel_nlink_t; -typedef long		__kernel_off_t; -typedef int		__kernel_pid_t; -typedef unsigned short	__kernel_ipc_pid_t; -typedef unsigned short	__kernel_uid_t; -typedef unsigned short	__kernel_gid_t; -typedef unsigned int	__kernel_size_t; -typedef int		__kernel_ssize_t; -typedef int		__kernel_ptrdiff_t; -typedef long		__kernel_time_t; -typedef long		__kernel_suseconds_t; -typedef long		__kernel_clock_t; -typedef int		__kernel_daddr_t; -typedef char *		__kernel_caddr_t; -typedef unsigned short	__kernel_uid16_t; -typedef unsigned short	__kernel_gid16_t; -typedef unsigned int	__kernel_uid32_t; -typedef unsigned int	__kernel_gid32_t; -typedef unsigned short	__kernel_old_uid_t; -typedef unsigned short	__kernel_old_gid_t; -typedef long long	__kernel_loff_t; - -typedef struct { -#ifdef __USE_ALL -	int val[2]; -#else -	int __val[2]; -#endif -} __kernel_fsid_t; - -#endif /* __ARCH_NIOS2_POSIX_TYPES_H */ diff --git a/libc/sysdeps/linux/nios/bits/mathdef.h b/libc/sysdeps/linux/nios/bits/mathdef.h deleted file mode 100644 index 478ceed15..000000000 --- a/libc/sysdeps/linux/nios/bits/mathdef.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1999, 2000, 2004 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#if !defined _MATH_H && !defined _COMPLEX_H -# error "Never use <bits/mathdef.h> directly; include <math.h> instead" -#endif - -#if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF -# define _MATH_H_MATHDEF	1 - -/* GCC does not promote `float' values to `double'.  */ -typedef float float_t;		/* `float' expressions are evaluated as -				   `float'.  */ -typedef double double_t;	/* `double' expressions are evaluated as -				   `double'.  */ - -/* The values returned by `ilogb' for 0 and NaN respectively.  */ -# define FP_ILOGB0	(-2147483647) -# define FP_ILOGBNAN	(2147483647) - -#endif	/* ISO C99 */ - -#ifndef __NO_LONG_DOUBLE_MATH -/* Signal that we do not really have a `long double'.  This disables the -   declaration of all the `long double' function variants.  */ -/* XXX The FPA does support this but the patterns in GCC are currently -   turned off.  */ -# define __NO_LONG_DOUBLE_MATH	1 -#endif diff --git a/libc/sysdeps/linux/nios/bits/setjmp.h b/libc/sysdeps/linux/nios/bits/setjmp.h deleted file mode 100644 index 81669bba7..000000000 --- a/libc/sysdeps/linux/nios/bits/setjmp.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -/* Define the machine-dependent type `jmp_buf'.  Nios version.  */ -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H	1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -#include <signal.h> - -typedef struct -  { -    /* There are eight 4-byte local registers saved.  */ -    long int __lregs[8]; - -    /* There are six 4-byte input registers saved.  */ -    long int __iregs[6]; - -    /* The SP, return address to caller (also for longjmp) -       and return address of caller are saved.  */ -    int *__sp; -    int *__jmpret; -    int *__callersret; - -  } __jmp_buf[1]; - -#endif	/* bits/setjmp.h */ diff --git a/libc/sysdeps/linux/nios/bits/sigcontextinfo.h b/libc/sysdeps/linux/nios/bits/sigcontextinfo.h deleted file mode 100644 index 96739e632..000000000 --- a/libc/sysdeps/linux/nios/bits/sigcontextinfo.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. -   Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#define SIGCONTEXT struct sigcontext * -#define SIGCONTEXT_EXTRA_ARGS -#define GET_PC(ctx)	((void *) ((ctx)->regs.pc)) - -/* now way for nios to do GET_FRAME(ctx), it is not saved in ctx */ -#define GET_STACK(ctx)	((void *) (ctx)->regs.u_regs[14]) -#define CALL_SIGHANDLER(handler, signo, ctx) \ -  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx)) diff --git a/libc/sysdeps/linux/nios/bits/stackinfo.h b/libc/sysdeps/linux/nios/bits/stackinfo.h deleted file mode 100644 index 0d4eeb8a4..000000000 --- a/libc/sysdeps/linux/nios/bits/stackinfo.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -/* This file contains a bit of information about the stack allocation -   of the processor.  */ - -#ifndef _STACKINFO_H -#define _STACKINFO_H	1 - -/* On nios II the stack grows down.  */ -#define _STACK_GROWS_DOWN	1 - -#endif	/* stackinfo.h */ diff --git a/libc/sysdeps/linux/nios/bits/stat.h b/libc/sysdeps/linux/nios/bits/stat.h deleted file mode 100644 index e4ed005a4..000000000 --- a/libc/sysdeps/linux/nios/bits/stat.h +++ /dev/null @@ -1,167 +0,0 @@ -/* Copyright (C) 1992,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -/* Versions of the `struct stat' data structure.  */ -#define _STAT_VER_LINUX_OLD	1 -#define _STAT_VER_KERNEL	1 -#define _STAT_VER_SVR4		2 -#define _STAT_VER_LINUX		3 -#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */ - -/* Versions of the `xmknod' interface.  */ -#define _MKNOD_VER_LINUX	1 -#define _MKNOD_VER_SVR4		2 -#define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */ - - -struct stat -  { -    __dev_t st_dev;			/* Device.  */ -    unsigned short int __pad1; -#ifndef __USE_FILE_OFFSET64 -    __ino_t st_ino;			/* File serial number.	*/ -#else -    __ino_t __st_ino;			/* 32bit file serial number.	*/ -#endif -    __mode_t st_mode;			/* File mode.  */ -    __nlink_t st_nlink;			/* Link count.  */ -    __uid_t st_uid;			/* User ID of the file's owner.	*/ -    __gid_t st_gid;			/* Group ID of the file's group.*/ -    __dev_t st_rdev;			/* Device number, if device.  */ -    unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 -    __off_t st_size;			/* Size of file, in bytes.  */ -#else -    __off64_t st_size;			/* Size of file, in bytes.  */ -#endif -    __blksize_t st_blksize;		/* Optimal block size for I/O.  */ - -#ifndef __USE_FILE_OFFSET64 -    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */ -#else -    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */ -#endif -#ifdef __USE_MISC -    /* Nanosecond resolution timestamps are stored in a format -       equivalent to 'struct timespec'.  This is the type used -       whenever possible but the Unix namespace rules do not allow the -       identifier 'timespec' to appear in the <sys/stat.h> header. -       Therefore we have to handle the use of this header in strictly -       standard-compliant sources special.  */ -    struct timespec st_atim;		/* Time of last access.  */ -    struct timespec st_mtim;		/* Time of last modification.  */ -    struct timespec st_ctim;		/* Time of last status change.  */ -# define st_atime st_atim.tv_sec	/* Backward compatibility.  */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else -    __time_t st_atime;			/* Time of last access.  */ -    unsigned long int st_atimensec;	/* Nscecs of last access.  */ -    __time_t st_mtime;			/* Time of last modification.  */ -    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */ -    __time_t st_ctime;			/* Time of last status change.  */ -    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */ -#endif -#ifndef __USE_FILE_OFFSET64 -    unsigned long int __unused4; -    unsigned long int __unused5; -#else -    __ino64_t st_ino;			/* File serial number.	*/ -#endif -  }; - -#ifdef __USE_LARGEFILE64 -struct stat64 -  { -    __dev_t st_dev;			/* Device.  */ -    unsigned short int __pad1; - -    __ino_t __st_ino;			/* 32bit file serial number.	*/ -    __mode_t st_mode;			/* File mode.  */ -    __nlink_t st_nlink;			/* Link count.  */ -    __uid_t st_uid;			/* User ID of the file's owner.	*/ -    __gid_t st_gid;			/* Group ID of the file's group.*/ -    __dev_t st_rdev;			/* Device number, if device.  */ -    unsigned short int __pad2; -    __off64_t st_size;			/* Size of file, in bytes.  */ -    __blksize_t st_blksize;		/* Optimal block size for I/O.  */ - -    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */ -#ifdef __USE_MISC -    /* Nanosecond resolution timestamps are stored in a format -       equivalent to 'struct timespec'.  This is the type used -       whenever possible but the Unix namespace rules do not allow the -       identifier 'timespec' to appear in the <sys/stat.h> header. -       Therefore we have to handle the use of this header in strictly -       standard-compliant sources special.  */ -    struct timespec st_atim;		/* Time of last access.  */ -    struct timespec st_mtim;		/* Time of last modification.  */ -    struct timespec st_ctim;		/* Time of last status change.  */ -#else -    __time_t st_atime;			/* Time of last access.  */ -    unsigned long int st_atimensec;	/* Nscecs of last access.  */ -    __time_t st_mtime;			/* Time of last modification.  */ -    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */ -    __time_t st_ctime;			/* Time of last status change.  */ -    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */ -#endif -    __ino64_t st_ino;			/* File serial number.		*/ -  }; -#endif - -/* Tell code we have these members.  */ -#define	_STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV -/* Nanosecond resolution time values are supported.  */ -#define _STATBUF_ST_NSEC - -/* Encoding of the file mode.  */ - -#define	__S_IFMT	0170000	/* These bits determine file type.  */ - -/* File types.  */ -#define	__S_IFDIR	0040000	/* Directory.  */ -#define	__S_IFCHR	0020000	/* Character device.  */ -#define	__S_IFBLK	0060000	/* Block device.  */ -#define	__S_IFREG	0100000	/* Regular file.  */ -#define	__S_IFIFO	0010000	/* FIFO.  */ -#define	__S_IFLNK	0120000	/* Symbolic link.  */ -#define	__S_IFSOCK	0140000	/* Socket.  */ - -/* POSIX.1b objects.  Note that these macros always evaluate to zero.  But -   they do it by enforcing the correct use of the macros.  */ -#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) - -/* Protection bits.  */ - -#define	__S_ISUID	04000	/* Set user ID on execution.  */ -#define	__S_ISGID	02000	/* Set group ID on execution.  */ -#define	__S_ISVTX	01000	/* Save swapped text after use (sticky).  */ -#define	__S_IREAD	0400	/* Read by owner.  */ -#define	__S_IWRITE	0200	/* Write by owner.  */ -#define	__S_IEXEC	0100	/* Execute by owner.  */ - -#ifdef __USE_ATFILE -# define UTIME_NOW	((1l << 30) - 1l) -# define UTIME_OMIT	((1l << 30) - 2l) -#endif diff --git a/libc/sysdeps/linux/nios/bits/syscalls.h b/libc/sysdeps/linux/nios/bits/syscalls.h deleted file mode 100644 index c2b6b9735..000000000 --- a/libc/sysdeps/linux/nios/bits/syscalls.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef _BITS_SYSCALLS_H -#define _BITS_SYSCALLS_H -#ifndef _SYSCALL_H -# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead." -#endif - -#include <features.h> -/* Do something very evil for now.  Until we include our out syscall - * macros, short circuit bits/syscall.h  and use asm/unistd.h instead */ -#include <asm/unistd.h> - -#endif /* _BITS_SYSCALLS_H */ - diff --git a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h b/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h deleted file mode 100644 index 293cc9b00..000000000 --- a/libc/sysdeps/linux/nios/bits/uClibc_arch_features.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Track misc arch-specific features that aren't config options - */ - -#ifndef _BITS_UCLIBC_ARCH_FEATURES_H -#define _BITS_UCLIBC_ARCH_FEATURES_H - -/* instruction used when calling abort() to kill yourself */ -/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/ -#undef __UCLIBC_ABORT_INSTRUCTION__ - -/* can your target use syscall6() for mmap ? */ -#undef __UCLIBC_MMAP_HAS_6_ARGS__ - -/* does your target align 64bit values in register pairs ? (32bit arches only) */ -#undef __UCLIBC_SYSCALL_ALIGN_64BIT__ - -/* does your target have a broken create_module() ? */ -#undef __UCLIBC_BROKEN_CREATE_MODULE__ - -/* does your target have to worry about older [gs]etrlimit() ? */ -#undef __UCLIBC_HANDLE_OLDER_RLIMIT__ - -/* does your target have an asm .set ? */ -#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ - -/* define if target supports .weak */ -#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ - -/* define if target supports .weakext */ -#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__ - -/* define if target supports CFI pseudo ops */ -#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__ - -/* define if target supports IEEE signed zero floats */ -#define __UCLIBC_HAVE_SIGNED_ZERO__ - -/* only weird assemblers generally need this */ -#undef __UCLIBC_ASM_LINE_SEP__ - -#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ diff --git a/libc/sysdeps/linux/nios/bits/wordsize.h b/libc/sysdeps/linux/nios/bits/wordsize.h deleted file mode 100644 index ca82fd7d4..000000000 --- a/libc/sysdeps/linux/nios/bits/wordsize.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#define __WORDSIZE	32 diff --git a/libc/sysdeps/linux/nios/brk.c b/libc/sysdeps/linux/nios/brk.c deleted file mode 100644 index 2514262c6..000000000 --- a/libc/sysdeps/linux/nios/brk.c +++ /dev/null @@ -1,43 +0,0 @@ -/* brk system call for Linux/Nios2. -   Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#include <unistd.h> -#include <sys/syscall.h> -#include <errno.h> - -/* This must be initialized data because commons can't have aliases.  */ -void *__curbrk attribute_hidden = 0; - -int brk (void *addr) -{ -    void *newbrk; -    register int g1 __asm__("%g1") = __NR_brk; -    register void *o0 __asm__("%o0") = addr; - -    __asm__ __volatile__ ("trap 63\n\t" : "=r"(newbrk) : "0"(o0), "r"(g1)); - -    __curbrk = newbrk; - -    if (newbrk < addr) { -      __set_errno (ENOMEM); -      return -1; -    } - -    return 0; -} -libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/nios/bsd-_setjmp.S b/libc/sysdeps/linux/nios/bsd-_setjmp.S deleted file mode 100644 index f2f0f2396..000000000 --- a/libc/sysdeps/linux/nios/bsd-_setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* _setjmp in setjmp.S */
\ No newline at end of file diff --git a/libc/sysdeps/linux/nios/bsd-setjmp.S b/libc/sysdeps/linux/nios/bsd-setjmp.S deleted file mode 100644 index 36f2bab1c..000000000 --- a/libc/sysdeps/linux/nios/bsd-setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* setjmp in setjmp.S */
\ No newline at end of file diff --git a/libc/sysdeps/linux/nios/clone.S b/libc/sysdeps/linux/nios/clone.S deleted file mode 100644 index 9641d68b0..000000000 --- a/libc/sysdeps/linux/nios/clone.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. -   Contributed by Richard Henderson (rth@tamu.edu). - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -/* clone() is even more special than fork() as it mucks with stacks -   and invokes a function in the right context after its all over.  */ - -#include <asm/errno.h> -#include <sys/syscall.h> -#include "NM_Macros.S" - -/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ - -	.text -	.align	2 -	.globl	clone -	.type	clone,@function - -clone: -	save	%sp,-16 - -	MOVIP	%l0, -EINVAL -	/* sanity check arguments */ -	skprnz	%i0				/* no NULL function pointers */ -	 br	CLONE_ERROR_LABEL -	mov	%o0, %i2 - -	skprnz  %i1				/* no NULL stack pointers */ -	 br	CLONE_ERROR_LABEL -	mov	%o1, %i1 - -	/* Do the system call */ -	MOVIP	%g1, __NR_clone -	trap	63 - -	/* if ret >=0? */ -	cmpi %o0, 0 -	skps cc_pl -	 br CLONE_ERROR_LABEL -	 mov %l0, %o0 - -	/* Start thread */ -	skprz  %o1 -	 br __thread_start -	 nop -	mov %i0, %o0 -	ret -	 restore - -CLONE_ERROR_LABEL: -	neg %l0 -	MOVIA	%g1, __errno_location@h -	call	%g1 -	 nop -	st	[%o0], %l0		/* store errno */ - -	xor %i0, %i0 -	dec %i0				/* retval=-1 */ -	ret -	 restore - -	.size	clone, .-clone - -	.type	__thread_start,@function - -__thread_start: -	call	%i0 -	 mov	%o0, %i3 -	MOVIA	%g1, _exit@h -	call	%g1 -	 nop - -	.size	__thread_start, .-__thread_start diff --git a/libc/sysdeps/linux/nios/crt1.S b/libc/sysdeps/linux/nios/crt1.S deleted file mode 100644 index 683c5c03e..000000000 --- a/libc/sysdeps/linux/nios/crt1.S +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. - -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB.  If -not, see <http://www.gnu.org/licenses/>.  */ - -#include <features.h> -#include <asm/unistd.h> -#include "NM_Macros.S" -#define __ASSEMBLY__ -#include <asm/ptrace.h>		/* for REGWIN_SZ */ - -    .global _start -    .type   __start,@function -    .weak   _init -    .weak   _fini -    .type   main,@function -    .type   __uClibc_main,@function - -	.text - -_start: -	nop -	nop - -	MOVIA	%o0, main@h -	lds	%o1,[%sp, (REGWIN_SZ / 4) + 0]	/* main's argc */ -	lds	%o2,[%sp, (REGWIN_SZ / 4) + 1]	/* main's argv */ - -	MOVIA	%o3, _init@h -	MOVIA	%o4, _fini@h -	mov	%o5, %i0	/* rtld_fini */ -	mov	%o6, %sp	/* stack_end */ -	MOVIA	%o7, __uClibc_main@h - -	call	%o7 -	nop - - -	/* If that didn't kill us, ... */ -__exit: -	MOVIP	%g1, __NR_exit -	trap	63 diff --git a/libc/sysdeps/linux/nios/crtbegin.c b/libc/sysdeps/linux/nios/crtbegin.c deleted file mode 100644 index ac3f23f84..000000000 --- a/libc/sysdeps/linux/nios/crtbegin.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <errno.h> -#include <stdlib.h> -/* -static void (*__CTOR_LIST__[1]) __P((void)) -    __attribute__((__unused__)) -    __attribute__((section(".ctors"))) = { (void *)0 }; - -static void (*__DTOR_LIST__[1]) __P((void)) -    __attribute__((section(".dtors"))) = { (void *)-1 }; -*/ -extern void (*__DTOR_LIST__[]) __P((void)); -static void	__do_global_dtors_aux __P((void)); - -static void -__do_global_dtors_aux() -{ -	void (**p)(void) = __DTOR_LIST__ + 1; - -	while (*p) -		(**p++)(); -} - -static void dummy_fini(void) __attribute__((section(".trash"))); - -void -dummy_fini(void) -{ -	static void (* volatile call__dtors)(void) = __do_global_dtors_aux; -	/* -	 * Call global destructors. -	 */ -	/* prevent function pointer constant propagation */ -	__asm__ __volatile__ (".section .fini"); -	(*call__dtors)(); -	__asm__ __volatile__ (".section .trash"); - -} diff --git a/libc/sysdeps/linux/nios/crtend.c b/libc/sysdeps/linux/nios/crtend.c deleted file mode 100644 index 775eb0f9d..000000000 --- a/libc/sysdeps/linux/nios/crtend.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <errno.h> -#include <stdlib.h> -#include <unistd.h> -/* -static void (*__CTOR_END__[1]) __P((void)) -    __attribute__((section(".ctors"))) = { (void *)-1 }; - -static void (*__DTOR_END__[1]) __P((void)) -    __attribute__((__unused__)) -    __attribute__((section(".dtors"))) = { (void *)0 }; -*/ -extern void (*__CTOR_END__[]) __P((void)); -static void	__do_global_ctors_aux __P((void)); - -static void -__do_global_ctors_aux() -{ -	void (**p)(void) = __CTOR_END__ - 1; - -	while (*p) -		(**p--)(); -} - -static void dummy_init(void) __attribute__((section(".trash"))); - -void -dummy_init(void) -{ -	static smallint initialized; -	static void (*volatile call__ctors)(void) = __do_global_ctors_aux; -	/* -	 * Call global constructors. -	 * Arrange to call global destructors at exit. -	 */ -	/* prevent function pointer constant propagation */ -	__asm__ __volatile__ (".section .init"); - -	if (!initialized) { -		initialized = 1; -		(*call__ctors)(); -	} -	__asm__ __volatile__ (".section .trash"); - -}
\ No newline at end of file diff --git a/libc/sysdeps/linux/nios/fpu_control.h b/libc/sysdeps/linux/nios/fpu_control.h deleted file mode 100644 index 4ba51b5eb..000000000 --- a/libc/sysdeps/linux/nios/fpu_control.h +++ /dev/null @@ -1,98 +0,0 @@ -/* FPU control word bits.  Nios2 version. -   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H - -/* MIPS FPU floating point control register bits. - * - * 31-25  -> floating point conditions code bits 7-1.  These bits are only - *           available in MIPS IV. - * 24     -> flush denormalized results to zero instead of - *           causing unimplemented operation exception.  This bit is only - *           available for MIPS III and newer. - * 23     -> Condition bit - * 22-18  -> reserved (read as 0, write with 0) - * 17     -> cause bit for unimplemented operation - * 16     -> cause bit for invalid exception - * 15     -> cause bit for division by zero exception - * 14     -> cause bit for overflow exception - * 13     -> cause bit for underflow exception - * 12     -> cause bit for inexact exception - * 11     -> enable exception for invalid exception - * 10     -> enable exception for division by zero exception - *  9     -> enable exception for overflow exception - *  8     -> enable exception for underflow exception - *  7     -> enable exception for inexact exception - *  6     -> flag invalid exception - *  5     -> flag division by zero exception - *  4     -> flag overflow exception - *  3     -> flag underflow exception - *  2     -> flag inexact exception - *  1-0   -> rounding control - * - * - * Rounding Control: - * 00 - rounding to nearest (RN) - * 01 - rounding toward zero (RZ) - * 10 - rounding (up) toward plus infinity (RP) - * 11 - rounding (down)toward minus infinity (RM) - */ - -#include <features.h> - -/* masking of interrupts */ -#define _FPU_MASK_V     0x0800  /* Invalid operation */ -#define _FPU_MASK_Z     0x0400  /* Division by zero  */ -#define _FPU_MASK_O     0x0200  /* Overflow          */ -#define _FPU_MASK_U     0x0100  /* Underflow         */ -#define _FPU_MASK_I     0x0080  /* Inexact operation */ - -/* flush denormalized numbers to zero */ -#define _FPU_FLUSH_TZ   0x1000000 - -/* rounding control */ -#define _FPU_RC_NEAREST 0x0     /* RECOMMENDED */ -#define _FPU_RC_ZERO    0x1 -#define _FPU_RC_UP      0x2 -#define _FPU_RC_DOWN    0x3 - -#define _FPU_RESERVED 0xfe3c0000  /* Reserved bits in cw */ - - -/* The fdlibm code requires strict IEEE double precision arithmetic, -   and no interrupts for exceptions, rounding to nearest.  */ - -#define _FPU_DEFAULT  0x00000000 - -/* IEEE:  same as above, but exceptions */ -#define _FPU_IEEE     0x00000F80 - -/* Type of the control word.  */ -typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); - -/* Macros for accessing the hardware control word.  */ -#define _FPU_GETCW(cw) __asm__ ("cfc1 %0,$31" : "=r" (cw)) -#define _FPU_SETCW(cw) __asm__ ("ctc1 %0,$31" : : "r" (cw)) - -#if 0 -/* Default control word set at startup.  */ -extern fpu_control_t __fpu_control; -#endif - -#endif	/* fpu_control.h */ diff --git a/libc/sysdeps/linux/nios/jmpbuf-offsets.h b/libc/sysdeps/linux/nios/jmpbuf-offsets.h deleted file mode 100644 index 266a7e944..000000000 --- a/libc/sysdeps/linux/nios/jmpbuf-offsets.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#define jmpbuf_l0 0x00 -#define jmpbuf_l1 0x01 -#define jmpbuf_l2 0x02 -#define jmpbuf_l3 0x03 -#define jmpbuf_l4 0x04 -#define jmpbuf_l5 0x05 -#define jmpbuf_l6 0x06 -#define jmpbuf_l7 0x07 - -#define jmpbuf_i0 0x08 -#define jmpbuf_i1 0x09 -#define jmpbuf_i2 0x0a -#define jmpbuf_i3 0x0b -#define jmpbuf_i4 0x0c -#define jmpbuf_i5 0x0d - -#define jmpbuf_sp 0x0e -#define jmpbuf_jmpret 0x0f -#define jmpbuf_callersret 0x10 diff --git a/libc/sysdeps/linux/nios/jmpbuf-unwind.h b/libc/sysdeps/linux/nios/jmpbuf-unwind.h deleted file mode 100644 index 64cd55fab..000000000 --- a/libc/sysdeps/linux/nios/jmpbuf-unwind.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ -#include <setjmp.h> - -/* Test if longjmp to JMPBUF would unwind the frame -   containing a local variable at ADDRESS.  */ -#define _JMPBUF_UNWINDS(jmpbuf, address) \ -  ((void *) (address) < (void *) (jmpbuf)->__sp) diff --git a/libc/sysdeps/linux/nios/setjmp.S b/libc/sysdeps/linux/nios/setjmp.S deleted file mode 100644 index d1ff1a751..000000000 --- a/libc/sysdeps/linux/nios/setjmp.S +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   see <http://www.gnu.org/licenses/>.  */ - -#include <jmpbuf-offsets.h> -#include "NM_Macros.S" - -;---------------------------------------- -;         Name: __sigsetjmp -;  Description: Save the current context so -;               a nr_longjmp works later. -;        Input: %o0: jmp_buf: (ptr to) array to store context in -;       Output: %o0 = 0 the first time we're called, or -;               whatever longjmp returns later -; Side Effects: Uses %g0 -;    CWP Depth: 0 -; - -	.align	2 -	.global	_setjmp -	 -_setjmp: -	br	__sigsetjmp -	 movi	%o1,0		; (Delay slot) Set signal mask to zero - -	.align	2 -	.global	setjmp -	 -setjmp: -	MOVIP	%o1,1		; Set signal mask to 1 to save mask - -	.align	2 -	.global	__sigsetjmp - -__sigsetjmp: -	pfx	jmpbuf_callersret ; present return address -	st	[%o0],%i7	 -	pfx	jmpbuf_jmpret	; where the longjmp will later execute from -	st	[%o0],%o7	 -	pfx	jmpbuf_sp	; Save stack pointer -	st	[%o0],%o6 -	pfx	jmpbuf_l0	; Save local register l0 -	st	[%o0],%l0 -	pfx	jmpbuf_l1	; Save local register l1 -	st	[%o0],%l1 -	pfx	jmpbuf_l2	; Save local register l2 -	st	[%o0],%l2 -	pfx	jmpbuf_l3	; Save local register l3 -	st	[%o0],%l3 -	pfx	jmpbuf_l4	; Save local register l4 -	st	[%o0],%l4 -	pfx	jmpbuf_l5	; Save local register l5 -	st	[%o0],%l5 -	pfx	jmpbuf_l6	; Save local register l6 -	st	[%o0],%l6 -	pfx	jmpbuf_l7	; Save local register l7 -	st	[%o0],%l7 -	pfx	jmpbuf_i0	; Save input register i0 -	st	[%o0],%i0 -	pfx	jmpbuf_i1	; Save input register i1 -	st	[%o0],%i1 -	pfx	jmpbuf_i2	; Save input register i2 -	st	[%o0],%i2 -	pfx	jmpbuf_i3	; Save input register i3 -	st	[%o0],%i3 -	pfx	jmpbuf_i4	; Save input register i4 -	st	[%o0],%i4 -	pfx	jmpbuf_i5	; Save input register i5 -	st	[%o0],%i5 -	pfx	%hi(__sigjmp_save@h)	  ; Load up %g0 with address -	movi	%g0,%lo(__sigjmp_save@h) -	pfx	%xhi(__sigjmp_save@h) -	movhi	%g0,%xlo(__sigjmp_save@h) -	jmp	%g0 -	 nop			; (delay slot) - - - - - - - - - - diff --git a/libc/sysdeps/linux/nios/sys/procfs.h b/libc/sysdeps/linux/nios/sys/procfs.h deleted file mode 100644 index edbd5a5ba..000000000 --- a/libc/sysdeps/linux/nios/sys/procfs.h +++ /dev/null @@ -1,122 +0,0 @@ -/* Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#ifndef _SYS_PROCFS_H -#define _SYS_PROCFS_H	1 - -/* This is somehow modelled after the file of the same name on SysVr4 -   systems.  It provides a definition of the core file format for ELF -   used on Linux.  */ - -#include <features.h> -#include <signal.h> -#include <sys/time.h> -#include <sys/types.h> -#include <sys/ucontext.h> -#include <sys/user.h> -#include <bits/wordsize.h> - -__BEGIN_DECLS - -#define ELF_NGREG		38 - -typedef struct -  { -    union -      { -	unsigned long	pr_regs[32]; -	double		pr_dregs[16]; -      }			pr_fr; -    unsigned long	__unused; -    unsigned long	pr_fsr; -    unsigned char	pr_qcnt; -    unsigned char	pr_q_entrysize; -    unsigned char	pr_en; -    unsigned int	pr_q[64]; -  } elf_fpregset_t; - -typedef unsigned long elf_greg_t; -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; - -struct elf_siginfo -  { -    int si_signo;			/* Signal number.  */ -    int si_code;			/* Extra code.  */ -    int si_errno;			/* Errno.  */ -  }; - -/* Definitions to generate Intel SVR4-like core files.  These mostly -   have the same names as the SVR4 types with "elf_" tacked on the -   front to prevent clashes with linux definitions, and the typedef -   forms have been avoided.  This is mostly like the SVR4 structure, -   but more Linuxy, with things that Linux does not support and which -   gdb doesn't really use excluded.  Fields present but not used are -   marked with "XXX".  */ -struct elf_prstatus -  { -    struct elf_siginfo pr_info;		/* Info associated with signal.  */ -    short int pr_cursig;		/* Current signal.  */ -    unsigned long int pr_sigpend;	/* Set of pending signals.  */ -    unsigned long int pr_sighold;	/* Set of held signals.  */ -    __pid_t pr_pid; -    __pid_t pr_ppid; -    __pid_t pr_pgrp; -    __pid_t pr_sid; -    struct timeval pr_utime;		/* User time.  */ -    struct timeval pr_stime;		/* System time.  */ -    struct timeval pr_cutime;		/* Cumulative user time.  */ -    struct timeval pr_cstime;		/* Cumulative system time.  */ -    elf_gregset_t pr_reg;		/* GP registers.  */ -    int pr_fpvalid;			/* True if math copro being used.  */ -  }; - - -#define ELF_PRARGSZ     (80)    /* Number of chars for args */ - -struct elf_prpsinfo -  { -    char pr_state;			/* Numeric process state.  */ -    char pr_sname;			/* Char for pr_state.  */ -    char pr_zomb;			/* Zombie.  */ -    char pr_nice;			/* Nice val.  */ -    unsigned long int pr_flag;		/* Flags.  */ -    unsigned short int pr_uid; -    unsigned short int pr_gid; -    int pr_pid, pr_ppid, pr_pgrp, pr_sid; -    /* Lots missing */ -    char pr_fname[16];			/* Filename of executable.  */ -    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */ -  }; - -/* Addresses.  */ -typedef void *psaddr_t; - -/* Register sets.  Linux has different names.  */ -typedef elf_gregset_t prgregset_t; -typedef elf_fpregset_t prfpregset_t; - -/* We don't have any differences between processes and threads, -   therefore have only one PID type.  */ -typedef __pid_t lwpid_t; - - -typedef struct elf_prstatus prstatus_t; -typedef struct elf_prpsinfo prpsinfo_t; - -__END_DECLS - -#endif	/* sys/procfs.h */ diff --git a/libc/sysdeps/linux/nios/sys/ucontext.h b/libc/sysdeps/linux/nios/sys/ucontext.h deleted file mode 100644 index 02781c7b2..000000000 --- a/libc/sysdeps/linux/nios/sys/ucontext.h +++ /dev/null @@ -1,103 +0,0 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. -   This file is part of the GNU C Library. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Lesser General Public -   License as published by the Free Software Foundation; either -   version 2.1 of the License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public -   License along with the GNU C Library; if not, see -   <http://www.gnu.org/licenses/>.  */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H	1 - -#include <features.h> -#include <signal.h> -/* - * Location of the users' stored registers relative to R0. - * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. - */ -#define REG_PSR (0) -#define REG_PC  (1) -#define REG_SPARE   (2) -#define REG_WVALID  (3) -#define REG_G1  (4) -#define REG_G2  (5) -#define REG_G3  (6) -#define REG_G4  (7) -#define REG_G5  (8) -#define REG_G6  (9) -#define REG_G7  (10) -#define REG_O0  (11) -#define REG_O1  (12) -#define REG_O2  (13) -#define REG_O3  (14) -#define REG_O4  (15) -#define REG_O5  (16) -#define REG_O6  (17) -#define REG_O7  (18) -#define REG_GLOBALS (19) - -/* - * A gregset_t is defined as an array type for compatibility with the reference - * source. This is important due to differences in the way the C language - * treats arrays and structures as parameters. - * - * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 21 (resp. 19). - */ - -#define NGREG   20 -typedef int greg_t; - -typedef greg_t  gregset_t[NGREG]; - -/* - * The following structures define how a register window can appear on the - * stack. This structure is available (when required) through the `gwins' - * field of an mcontext (nested within ucontext). NIOS_MAXWINDOW is the - * maximum number of outstanding register windows defined in the NIOS - * architecture (*not* implementation). - */ -#define NIOS_MAXREGWINDOW	31	/* max windows in NIOS arch. */ -struct  rwindow -  { -    greg_t rw_local[8];			/* locals */ -    greg_t rw_in[8];			/* ins */ -  }; - -#define rw_fp   rw_in[6]		/* frame pointer */ -#define rw_rtn  rw_in[7]		/* return address */ - -typedef struct gwindows -  { -    int            wbcnt; -    int           *spbuf[NIOS_MAXREGWINDOW]; -    struct rwindow wbuf[NIOS_MAXREGWINDOW]; -  } gwindows_t; - -typedef struct -  { -    gregset_t   gregs;		/* general register set */ -    gwindows_t  *gwins;		/* POSSIBLE pointer to register windows */ -  } mcontext_t; - - -/* Userlevel context.  */ -typedef struct ucontext -  { -    unsigned long   uc_flags; -    struct ucontext *uc_link; -    __sigset_t	    uc_sigmask; -    stack_t         uc_stack; -    mcontext_t      uc_mcontext; -  } ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/libc/sysdeps/linux/nios/vfork.S b/libc/sysdeps/linux/nios/vfork.S deleted file mode 100644 index 603a07e83..000000000 --- a/libc/sysdeps/linux/nios/vfork.S +++ /dev/null @@ -1,51 +0,0 @@ -/* - * libc/sysdeps/linux/nios/vfork.S -- `vfork' syscall for linux/nios - * - *  Copyright (C) 2004  Microtronix Datacom Ltd - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License.  See the file COPYING.LIB in the main - * directory of this archive for more details. - *  - * Written by Wentao Xu <wentao@microtronix.com> - */ - -#include <sys/syscall.h> -#include "NM_Macros.S" - -#ifndef __NR_vfork -#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */ -#endif - -   .text -   .align 2 -   .globl __vfork -  .hidden __vfork -  .type   __vfork,@function -__vfork: -	MOVIP	%g1, __NR_vfork -	trap	63 -	 -	bgen	%g1, 12 -	not		%g1			/* (unsigned long) -4096 */ -	cmp		%o0, %g1 -	skps	cc_hi -	jmp		%o7 -	nop -	 -fix_errno: -	neg		%o0 -	save	%sp, -16 -	MOVIA	%g1, __errno_location@h -	call	%g1 -	nop -	st	[%o0], %i0		/* store errno */ -	 -	xor %i0, %i0 -	subi %i0, 1		/* retval=-1 */ -	ret -	restore - -.size __vfork,.-__vfork -weak_alias(__vfork,vfork) -libc_hidden_def(vfork) diff --git a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h deleted file mode 100644 index 91bbf8fea..000000000 --- a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Machine-dependent pthreads configuration and inline functions. -   ARM version. -   Copyright (C) 1997, 1998 Free Software Foundation, Inc. -   This file is part of the GNU C Library. -   Contributed by Philip Blundell <philb@gnu.org>. - -   The GNU C Library is free software; you can redistribute it and/or -   modify it under the terms of the GNU Library General Public License as -   published by the Free Software Foundation; either version 2 of the -   License, or (at your option) any later version. - -   The GNU C Library is distributed in the hope that it will be useful, -   but WITHOUT ANY WARRANTY; without even the implied warranty of -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -   Library General Public License for more details. - -   You should have received a copy of the GNU Library General Public -   License along with the GNU C Library; see the file COPYING.LIB.  If not, -   see <http://www.gnu.org/licenses/>.  */ - -#ifndef _PT_MACHINE_H -#define _PT_MACHINE_H   1 - -#include <features.h> - -#ifndef PT_EI -# define PT_EI __extern_always_inline -#endif - -/* Spinlock implementation; required.  */ -/* it is weird and dangerous to disable interrupt in userspace, but for nios -   what else we can do before we have a swap like instruction?  This is better -   than nothing - */ -PT_EI long int -testandset (int *spinlock) -{ -  unsigned int ret; - -  __asm__ __volatile__("pfx 8\n\t" -  			"wrctl %1	; disable interrupt\n\t" -			"nop\n\t" -			"nop\n\t" -  			"ld %0, [%2]\n\t" -  			"st [%2], %1\n\t" -  			"pfx 9\n\t" -  			"wrctl %1	; enable interrupt\n\t" -			"nop\n\t" -			"nop\n\t" - 		       : "=&r"(ret) -		       : "r"(1), "r"(spinlock) -		       : "memory"); - -  return ret; -} - - -/* Get some notion of the current stack.  Need not be exactly the top -   of the stack, just something somewhere in the current frame.  */ -#define CURRENT_STACK_FRAME  stack_pointer -register char * stack_pointer __asm__ ("%sp"); - -/* nios needs more because of reg windows */ -#define THREAD_MANAGER_STACK_SIZE (32*1024) -#define STACK_SIZE	(32*1024) - -#endif /* pt-machine.h */  | 
