Browse Source

good by nios

Get rid of NIOS support. We try to support NIOSII.
Waldemar Brodkorb 9 years ago
parent
commit
9e360dcc05
36 changed files with 0 additions and 2208 deletions
  1. 0 6
      Makerules
  2. 0 6
      Rules.mak
  3. 0 8
      extra/Configs/Config.in
  4. 0 17
      extra/Configs/Config.nios
  5. 0 1
      extra/Configs/defconfigs/nios/defconfig
  6. 0 13
      libc/sysdeps/linux/nios/Makefile
  7. 0 12
      libc/sysdeps/linux/nios/Makefile.arch
  8. 0 473
      libc/sysdeps/linux/nios/NM_Macros.S
  9. 0 63
      libc/sysdeps/linux/nios/NR_Math1.S
  10. 0 98
      libc/sysdeps/linux/nios/__longjmp.S
  11. 0 8
      libc/sysdeps/linux/nios/bits/endian.h
  12. 0 237
      libc/sysdeps/linux/nios/bits/fcntl.h
  13. 0 43
      libc/sysdeps/linux/nios/bits/kernel_types.h
  14. 0 43
      libc/sysdeps/linux/nios/bits/mathdef.h
  15. 0 44
      libc/sysdeps/linux/nios/bits/setjmp.h
  16. 0 26
      libc/sysdeps/linux/nios/bits/sigcontextinfo.h
  17. 0 27
      libc/sysdeps/linux/nios/bits/stackinfo.h
  18. 0 167
      libc/sysdeps/linux/nios/bits/stat.h
  19. 0 13
      libc/sysdeps/linux/nios/bits/syscalls.h
  20. 0 42
      libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
  21. 0 18
      libc/sysdeps/linux/nios/bits/wordsize.h
  22. 0 43
      libc/sysdeps/linux/nios/brk.c
  23. 0 1
      libc/sysdeps/linux/nios/bsd-_setjmp.S
  24. 0 1
      libc/sysdeps/linux/nios/bsd-setjmp.S
  25. 0 87
      libc/sysdeps/linux/nios/clone.S
  26. 0 55
      libc/sysdeps/linux/nios/crt1.S
  27. 0 37
      libc/sysdeps/linux/nios/crtbegin.c
  28. 0 44
      libc/sysdeps/linux/nios/crtend.c
  29. 0 98
      libc/sysdeps/linux/nios/fpu_control.h
  30. 0 25
      libc/sysdeps/linux/nios/jmpbuf-offsets.h
  31. 0 11
      libc/sysdeps/linux/nios/jmpbuf-unwind.h
  32. 0 98
      libc/sysdeps/linux/nios/setjmp.S
  33. 0 122
      libc/sysdeps/linux/nios/sys/procfs.h
  34. 0 103
      libc/sysdeps/linux/nios/sys/ucontext.h
  35. 0 51
      libc/sysdeps/linux/nios/vfork.S
  36. 0 67
      libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

+ 0 - 6
Makerules

@@ -467,13 +467,7 @@ $(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARG
 	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
 	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
 endif
 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 :=
 CRTS_COMPAT :=
-#endif
 
 
 startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
 startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
 startfiles: $(startfiles)
 startfiles: $(startfiles)

+ 0 - 6
Rules.mak

@@ -406,12 +406,6 @@ ifeq ($(TARGET_ARCH),mips)
 	CPU_LDFLAGS-y += $(CPU_CFLAGS)
 	CPU_LDFLAGS-y += $(CPU_CFLAGS)
 endif
 endif
 
 
-ifeq ($(TARGET_ARCH),nios)
-	OPTIMIZATION+=-funaligned-struct-hack
-	CPU_LDFLAGS-y+=-Wl,-m32
-	CPU_CFLAGS-y+=-Wl,-m32
-endif
-
 ifeq ($(TARGET_ARCH),sh)
 ifeq ($(TARGET_ARCH),sh)
 $(eval $(call check-gcc-var,-mprefergot))
 $(eval $(call check-gcc-var,-mprefergot))
 	OPTIMIZATION += $(CFLAG_-mprefergot)
 	OPTIMIZATION += $(CFLAG_-mprefergot)

+ 0 - 8
extra/Configs/Config.in

@@ -32,7 +32,6 @@ choice
 	default TARGET_metag if DESIRED_TARGET_ARCH = "metag"
 	default TARGET_metag if DESIRED_TARGET_ARCH = "metag"
 	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
 	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
 	default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
 	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_nios2 if DESIRED_TARGET_ARCH = "nios2"
 	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"
 	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"
 	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
 	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
@@ -100,9 +99,6 @@ config TARGET_microblaze
 config TARGET_mips
 config TARGET_mips
 	bool "mips"
 	bool "mips"
 
 
-#config TARGET_nios
-#	bool "nios"
-
 config TARGET_nios2
 config TARGET_nios2
 	bool "nios2"
 	bool "nios2"
 
 
@@ -188,10 +184,6 @@ if TARGET_metag
 source "extra/Configs/Config.metag"
 source "extra/Configs/Config.metag"
 endif
 endif
 
 
-if TARGET_nios
-source "extra/Configs/Config.nios"
-endif
-
 if TARGET_nios2
 if TARGET_nios2
 source "extra/Configs/Config.nios2"
 source "extra/Configs/Config.nios2"
 endif
 endif

+ 0 - 17
extra/Configs/Config.nios

@@ -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

+ 0 - 1
extra/Configs/defconfigs/nios/defconfig

@@ -1 +0,0 @@
-TARGET_nios=y

+ 0 - 13
libc/sysdeps/linux/nios/Makefile

@@ -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

+ 0 - 12
libc/sysdeps/linux/nios/Makefile.arch

@@ -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

+ 0 - 473
libc/sysdeps/linux/nios/NM_Macros.S

@@ -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
-

+ 0 - 63
libc/sysdeps/linux/nios/NR_Math1.S

@@ -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
-

+ 0 - 98
libc/sysdeps/linux/nios/__longjmp.S

@@ -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)

+ 0 - 8
libc/sysdeps/linux/nios/bits/endian.h

@@ -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

+ 0 - 237
libc/sysdeps/linux/nios/bits/fcntl.h

@@ -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
-

+ 0 - 43
libc/sysdeps/linux/nios/bits/kernel_types.h

@@ -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 */

+ 0 - 43
libc/sysdeps/linux/nios/bits/mathdef.h

@@ -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

+ 0 - 44
libc/sysdeps/linux/nios/bits/setjmp.h

@@ -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 */

+ 0 - 26
libc/sysdeps/linux/nios/bits/sigcontextinfo.h

@@ -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))

+ 0 - 27
libc/sysdeps/linux/nios/bits/stackinfo.h

@@ -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 */

+ 0 - 167
libc/sysdeps/linux/nios/bits/stat.h

@@ -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

+ 0 - 13
libc/sysdeps/linux/nios/bits/syscalls.h

@@ -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 */
-

+ 0 - 42
libc/sysdeps/linux/nios/bits/uClibc_arch_features.h

@@ -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 */

+ 0 - 18
libc/sysdeps/linux/nios/bits/wordsize.h

@@ -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

+ 0 - 43
libc/sysdeps/linux/nios/brk.c

@@ -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)

+ 0 - 1
libc/sysdeps/linux/nios/bsd-_setjmp.S

@@ -1 +0,0 @@
-/* _setjmp in setjmp.S */

+ 0 - 1
libc/sysdeps/linux/nios/bsd-setjmp.S

@@ -1 +0,0 @@
-/* setjmp in setjmp.S */

+ 0 - 87
libc/sysdeps/linux/nios/clone.S

@@ -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

+ 0 - 55
libc/sysdeps/linux/nios/crt1.S

@@ -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

+ 0 - 37
libc/sysdeps/linux/nios/crtbegin.c

@@ -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");
-
-}

+ 0 - 44
libc/sysdeps/linux/nios/crtend.c

@@ -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");
-
-}

+ 0 - 98
libc/sysdeps/linux/nios/fpu_control.h

@@ -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 */

+ 0 - 25
libc/sysdeps/linux/nios/jmpbuf-offsets.h

@@ -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

+ 0 - 11
libc/sysdeps/linux/nios/jmpbuf-unwind.h

@@ -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)

+ 0 - 98
libc/sysdeps/linux/nios/setjmp.S

@@ -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)
-
-
-
-
-
-
-
-
-
-

+ 0 - 122
libc/sysdeps/linux/nios/sys/procfs.h

@@ -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 */

+ 0 - 103
libc/sysdeps/linux/nios/sys/ucontext.h

@@ -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 */

+ 0 - 51
libc/sysdeps/linux/nios/vfork.S

@@ -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)

+ 0 - 67
libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

@@ -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 */