This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.25-355-g81cb7a0


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  81cb7a0b2b6b905a504b8b56fe3c1634adf8fb71 (commit)
       via  42a844c6a213f9219a4baa013c7305679d5dcaaa (commit)
      from  a429d2ff07fcb6620269fc0ee46ea5066451fdff (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=81cb7a0b2b6b905a504b8b56fe3c1634adf8fb71

commit 81cb7a0b2b6b905a504b8b56fe3c1634adf8fb71
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu May 11 20:36:15 2017 -0400

    Remove sfi_* annotations from ARM assembly files.
    
    This semi-mechanical patch removes all uses and definitions of the
    sfi_breg, sfi_pld, and sfi_sp macros from various ARM-specific
    assembly files.  These were only used by NaCl.
    
    	* sysdeps/arm/sysdep.h
            (ARM_SFI_MACROS, sfi_breg, sfi_pld, sfi_sp): Delete definitions.
    
    	* sysdeps/arm/__longjmp.S, sysdeps/arm/add_n.S
    	* sysdeps/arm/addmul_1.S, sysdeps/arm/arm-mcount.S
    	* sysdeps/arm/armv6/rawmemchr.S, sysdeps/arm/armv6/strchr.S
    	* sysdeps/arm/armv6/strcpy.S, sysdeps/arm/armv6/strlen.S
    	* sysdeps/arm/armv6/strrchr.S, sysdeps/arm/armv6t2/memchr.S
    	* sysdeps/arm/armv6t2/strlen.S
    	* sysdeps/arm/armv7/multiarch/memcpy_impl.S
    	* sysdeps/arm/armv7/strcmp.S, sysdeps/arm/dl-tlsdesc.S
    	* sysdeps/arm/memcpy.S, sysdeps/arm/memmove.S
    	* sysdeps/arm/memset.S, sysdeps/arm/setjmp.S
    	* sysdeps/arm/strlen.S, sysdeps/arm/submul_1.S:
            Remove all uses of sfi_breg, sfi_pld, and sfi_sp.

diff --git a/ChangeLog b/ChangeLog
index 704968e..97b80aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2017-05-20  Zack Weinberg  <zackw@panix.com>
 
+	* sysdeps/arm/sysdep.h
+	(ARM_SFI_MACROS, sfi_breg, sfi_pld, sfi_sp): Delete definitions.
+
+	* sysdeps/arm/__longjmp.S, sysdeps/arm/add_n.S
+	* sysdeps/arm/addmul_1.S, sysdeps/arm/arm-mcount.S
+	* sysdeps/arm/armv6/rawmemchr.S, sysdeps/arm/armv6/strchr.S
+	* sysdeps/arm/armv6/strcpy.S, sysdeps/arm/armv6/strlen.S
+	* sysdeps/arm/armv6/strrchr.S, sysdeps/arm/armv6t2/memchr.S
+	* sysdeps/arm/armv6t2/strlen.S
+	* sysdeps/arm/armv7/multiarch/memcpy_impl.S
+	* sysdeps/arm/armv7/strcmp.S, sysdeps/arm/dl-tlsdesc.S
+	* sysdeps/arm/memcpy.S, sysdeps/arm/memmove.S
+	* sysdeps/arm/memset.S, sysdeps/arm/setjmp.S
+	* sysdeps/arm/strlen.S, sysdeps/arm/submul_1.S:
+	Remove all uses of sfi_breg, sfi_pld, and sfi_sp.
+
+2017-05-20  Zack Weinberg  <zackw@panix.com>
+
 	Remove the NaCl port.
 	* sysdeps/arm/nacl: Remove directory and contents.
 	* sysdeps/nacl: Remove directory and contents.
diff --git a/sysdeps/arm/__longjmp.S b/sysdeps/arm/__longjmp.S
index 2a567b5..5202c72 100644
--- a/sysdeps/arm/__longjmp.S
+++ b/sysdeps/arm/__longjmp.S
@@ -28,8 +28,7 @@ ENTRY (__longjmp)
 	mov	ip, r0
 
 #ifdef CHECK_SP
-	sfi_breg ip, \
-	ldr	r4, [\B]	/* jmpbuf's sp */
+	ldr	r4, [ip]	/* jmpbuf's sp */
 	cfi_undefined (r4)
 #ifdef PTR_DEMANGLE
 	PTR_DEMANGLE (r4, r4, a3, a4)
@@ -38,28 +37,22 @@ ENTRY (__longjmp)
 #endif
 
 #ifdef PTR_DEMANGLE
-	sfi_breg ip, \
-	ldr	a4, [\B], #4
+	ldr	a4, [ip], #4
 	PTR_DEMANGLE (a4, a4, a3, r4)
 	cfi_undefined (r4)
-	sfi_breg ip, \
-	ldr	r4, [\B], #4
+	ldr	r4, [ip], #4
 	PTR_DEMANGLE2 (r4, r4, a3)
 #else
-	sfi_breg ip, \
-	ldr	a4, [\B], #4
-	sfi_breg ip, \
-	ldr	r4, [\B], #4
+	ldr	a4, [ip], #4
+	ldr	r4, [ip], #4
 	cfi_undefined (r4)
 #endif
 	/* longjmp probe expects longjmp first argument (4@r0), second
 	   argument (-4@r1), and target address (4@r4), respectively.  */
 	LIBC_PROBE (longjmp, 3, 4@r0, -4@r1, 4@r4)
-	sfi_sp \
 	mov	sp, a4
 	mov	lr, r4
-	sfi_breg ip, \
-	ldmia	\B!, JMP_BUF_REGLIST
+	ldmia	ip!, JMP_BUF_REGLIST
 	cfi_restore (v1)
 	cfi_restore (v2)
 	cfi_restore (v3)
@@ -97,8 +90,7 @@ ENTRY (__longjmp)
 
 	/* Restore the VFP registers.  */
 	/* Following instruction is vldmia ip!, {d8-d15}.  */
-	sfi_breg r12, \
-	ldc	p11, cr8, [\B], #64
+	ldc	p11, cr8, [r12], #64
 .Lno_vfp:
 
 #ifndef ARM_ASSUME_NO_IWMMXT
@@ -107,18 +99,12 @@ ENTRY (__longjmp)
 
 	/* Restore the call-preserved iWMMXt registers.  */
 	/* Following instructions are wldrd wr10, [ip], #8 (etc.)  */
-	sfi_breg r12, \
-	ldcl	p1, cr10, [\B], #8
-	sfi_breg r12, \
-	ldcl	p1, cr11, [\B], #8
-	sfi_breg r12, \
-	ldcl	p1, cr12, [\B], #8
-	sfi_breg r12, \
-	ldcl	p1, cr13, [\B], #8
-	sfi_breg r12, \
-	ldcl	p1, cr14, [\B], #8
-	sfi_breg r12, \
-	ldcl	p1, cr15, [\B], #8
+	ldcl	p1, cr10, [r12], #8
+	ldcl	p1, cr11, [r12], #8
+	ldcl	p1, cr12, [r12], #8
+	ldcl	p1, cr13, [r12], #8
+	ldcl	p1, cr14, [r12], #8
+	ldcl	p1, cr15, [r12], #8
 .Lno_iwmmxt:
 #endif
 
diff --git a/sysdeps/arm/add_n.S b/sysdeps/arm/add_n.S
index b601357..811a769 100644
--- a/sysdeps/arm/add_n.S
+++ b/sysdeps/arm/add_n.S
@@ -52,40 +52,31 @@ ENTRY (FUNC)
 	add	lr, r1, r3, lsl #2	/* compute end src1 */
 	beq	1f
 
-	sfi_breg r1, \
-	ldr	r4, [\B], #4		/* do one to make count even */
-	sfi_breg r2, \
-	ldr	r5, [\B], #4
+	ldr	r4, [r1], #4		/* do one to make count even */
+	ldr	r5, [r2], #4
 	OPC	r4, r4, r5
 	teq	r1, lr			/* end of count? (preserve carry) */
-	sfi_breg r0, \
-	str	r4, [\B], #4
+	str	r4, [r0], #4
 	beq	9f
 1:
 	tst	r3, #2			/* count & 2 == 2?  */
 	beq	2f
-	sfi_breg r1, \
-	ldm	\B!, { r4, r5 }		/* do two to make count 0 mod 4 */
-	sfi_breg r2, \
-	ldm	\B!, { r6, r7 }
+	ldm	r1!, { r4, r5 }		/* do two to make count 0 mod 4 */
+	ldm	r2!, { r6, r7 }
 	OPC	r4, r4, r6
 	OPC	r5, r5, r7
 	teq	r1, lr			/* end of count? */
-	sfi_breg r0, \
-	stm	\B!, { r4, r5 }
+	stm	r0!, { r4, r5 }
 	beq	9f
 2:
-	sfi_breg r1, \
-	ldm	\B!, { r3, r5, r7, r10 }	/* do four each loop */
-	sfi_breg r2, \
-	ldm	\B!, { r4, r6, r8, ip }
+	ldm	r1!, { r3, r5, r7, r10 }	/* do four each loop */
+	ldm	r2!, { r4, r6, r8, ip }
 	OPC	r3, r3, r4
 	OPC	r5, r5, r6
 	OPC	r7, r7, r8
 	OPC	r10, r10, ip
 	teq	r1, lr
-	sfi_breg r0, \
-	stm	\B!, { r3, r5, r7, r10 }
+	stm	r0!, { r3, r5, r7, r10 }
 	bne	2b
 
 9:
diff --git a/sysdeps/arm/addmul_1.S b/sysdeps/arm/addmul_1.S
index a681c24..c4e54f8 100644
--- a/sysdeps/arm/addmul_1.S
+++ b/sysdeps/arm/addmul_1.S
@@ -37,21 +37,16 @@ ENTRY (__mpn_addmul_1)
 	cfi_rel_offset (r6, 8)
 	cfi_rel_offset (r7, 12)
 
-	sfi_breg r1, \
-	ldr	r6, [\B], #4
-	sfi_breg r0, \
-	ldr	r5, [\B]
+	ldr	r6, [r1], #4
+	ldr	r5, [r0]
 	mov	r4, #0			/* init carry in */
 	b	1f
 0:
-	sfi_breg r1, \
-	ldr	r6, [\B], #4		/* load next ul */
+	ldr	r6, [r1], #4		/* load next ul */
 	adds	r7, r4, r5		/* (out, c) = cl + lpl */
-	sfi_breg r0, \
-	ldr	r5, [\B, #4]		/* load next rl */
+	ldr	r5, [r0, #4]		/* load next rl */
 	adc	r4, ip, #0		/* cl = hpl + c */
-	sfi_breg r0, \
-	str	r7, [\B], #4
+	str	r7, [r0], #4
 1:
 	mov	ip, #0			/* zero-extend rl */
 	umlal	r5, ip, r6, r3		/* (hpl, lpl) = ul * vl + rl */
@@ -59,8 +54,7 @@ ENTRY (__mpn_addmul_1)
 	bne	0b
 
 	adds	r4, r4, r5		/* (out, c) = cl + llpl */
-	sfi_breg r0, \
-	str	r4, [\B]
+	str	r4, [r0]
 	adc	r0, ip, #0		/* return hpl + c */
 
 	pop	{ r4, r5, r6, r7 }
diff --git a/sysdeps/arm/arm-mcount.S b/sysdeps/arm/arm-mcount.S
index b08a8dd..df2601b 100644
--- a/sysdeps/arm/arm-mcount.S
+++ b/sysdeps/arm/arm-mcount.S
@@ -90,8 +90,7 @@ ENTRY(__mcount_arm_compat)
 	cfi_rel_offset (lr, 20)
 	movs r0, fp
 	ittt ne
-	sfi_breg r0, \
-	ldrne r0, [\B, #-4]
+	ldrne r0, [r0, #-4]
 	movsne r1, lr
 	blne __mcount_internal
 # if defined (__ARM_ARCH_4T__) && defined (__THUMB_INTERWORK__)
diff --git a/sysdeps/arm/armv6/rawmemchr.S b/sysdeps/arm/armv6/rawmemchr.S
index b4d4eb2..2511f10 100644
--- a/sysdeps/arm/armv6/rawmemchr.S
+++ b/sysdeps/arm/armv6/rawmemchr.S
@@ -25,8 +25,7 @@ ENTRY (__rawmemchr)
 	@ r0 = start of string
 	@ r1 = character to match
 	@ returns a pointer to the match, which must be present.
-	sfi_breg r0, \
-	ldrb	r2, [\B]		@ load first byte asap
+	ldrb	r2, [r0]		@ load first byte asap
 
 	@ To cater to long strings, we want to search through a few
 	@ characters until we reach an aligned pointer.  To cater to
@@ -42,8 +41,7 @@ ENTRY (__rawmemchr)
 	bxeq	lr
 
 	@ Loop until we find ...
-1:	sfi_breg r0, \
-	ldrb	r2, [\B, #1]!
+1:	ldrb	r2, [r0, #1]!
 	subs	r3, r3, #1		@ ... the alignment point
 	it	ne
 	cmpne	r2, r1			@ ... or C
@@ -56,16 +54,15 @@ ENTRY (__rawmemchr)
 	add	r0, r0, #1
 
 	@ So now we're aligned.
-	sfi_breg r0, \
-	ldrd	r2, r3, [\B], #8
+	ldrd	r2, r3, [r0], #8
 	orr	r1, r1, r1, lsl #8	@ Replicate C to all bytes
 #ifdef ARCH_HAS_T2
 	movw	ip, #0x0101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 	movt	ip, #0x0101
 #else
 	ldr	ip, =0x01010101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 #endif
 	orr	r1, r1, r1, lsl #16
 
@@ -77,11 +74,10 @@ ENTRY (__rawmemchr)
 	eor	r3, r3, r1
 	uqsub8	r2, ip, r2		@ Find C
 	uqsub8	r3, ip, r3
-	sfi_pld	r0, #128
+	pld	[r0, #128]
 	orrs	r3, r3, r2		@ Test both words for found
 	it	eq
-	sfi_breg r0, \
-	ldrdeq	r2, r3, [\B], #8
+	ldrdeq	r2, r3, [r0], #8
 	beq	2b
 
 	@ Found something.  Disambiguate between first and second words.
diff --git a/sysdeps/arm/armv6/strchr.S b/sysdeps/arm/armv6/strchr.S
index f6fd192..bfd0a6b 100644
--- a/sysdeps/arm/armv6/strchr.S
+++ b/sysdeps/arm/armv6/strchr.S
@@ -25,8 +25,7 @@ ENTRY (strchr)
 	@ r0 = start of string
 	@ r1 = character to match
 	@ returns NULL for no match, or a pointer to the match
-	sfi_breg r0, \
-	ldrb	r2, [\B]		@ load the first byte asap
+	ldrb	r2, [r0]		@ load the first byte asap
 	uxtb	r1, r1
 
 	@ To cater to long strings, we want to search through a few
@@ -43,8 +42,7 @@ ENTRY (strchr)
 	beq	99f
 
 	@ Loop until we find ...
-1:	sfi_breg r0, \
-	ldrb	r2, [\B, #1]!
+1:	ldrb	r2, [r0, #1]!
 	subs	r3, r3, #1		@ ... the aligment point
 	it	ne
 	cmpne	r2, r1			@ ... or the character
@@ -67,16 +65,15 @@ ENTRY (strchr)
 	cfi_rel_offset (r6, 8)
 	cfi_rel_offset (r7, 12)
 
-	sfi_breg r0, \
-	ldrd	r2, r3, [\B], #8
+	ldrd	r2, r3, [r0], #8
 	orr	r1, r1, r1, lsl #8	@ Replicate C to all bytes
 #ifdef ARCH_HAS_T2
 	movw	ip, #0x0101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 	movt	ip, #0x0101
 #else
 	ldr	ip, =0x01010101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 #endif
 	orr	r1, r1, r1, lsl #16
 
@@ -90,14 +87,13 @@ ENTRY (strchr)
 	uqsub8	r5, ip, r3
 	eor	r7, r3, r1
 	uqsub8	r6, ip, r6		@ Find C
-	sfi_pld	r0, #128		@ Prefetch 2 lines ahead
+	pld	[r0, #128]		@ Prefetch 2 lines ahead
 	uqsub8	r7, ip, r7
 	orr	r4, r4, r6		@ Combine found for EOS and C
 	orr	r5, r5, r7
 	orrs	r6, r4, r5		@ Combine the two words
 	it	eq
-	sfi_breg r0, \
-	ldrdeq	r2, r3, [\B], #8
+	ldrdeq	r2, r3, [r0], #8
 	beq	2b
 
 	@ Found something.  Disambiguate between first and second words.
diff --git a/sysdeps/arm/armv6/strcpy.S b/sysdeps/arm/armv6/strcpy.S
index 239418c..1b98dbc 100644
--- a/sysdeps/arm/armv6/strcpy.S
+++ b/sysdeps/arm/armv6/strcpy.S
@@ -44,8 +44,8 @@ ENTRY (strcpy)
 	@ Signal strcpy with DEST in IP.
 	mov	ip, r0
 0:
-	sfi_pld	r0
-	sfi_pld	r1
+	pld	[r0, #0]
+	pld	[r1, #0]
 
 	@ To cater to long strings, we want 8 byte alignment in the source.
 	@ To cater to small strings, we don't want to start that right away.
@@ -54,11 +54,9 @@ ENTRY (strcpy)
 	rsb	r3, r3, #16
 
 	@ Loop until we find ...
-1:	sfi_breg r1, \
-	ldrb	r2, [\B], #1
+1:	ldrb	r2, [r1], #1
 	subs	r3, r3, #1		@ ... the alignment point
-	sfi_breg r0, \
-	strb	r2, [\B], #1
+	strb	r2, [r0], #1
 	it	ne
 	cmpne	r2, #0			@ ... or EOS
 	bne	1b
@@ -68,10 +66,9 @@ ENTRY (strcpy)
 	beq	.Lreturn
 
 	@ Load the next two words asap
-	sfi_breg r1, \
-	ldrd	r2, r3, [\B], #8
-	sfi_pld	r0, #64
-	sfi_pld	r1, #64
+	ldrd	r2, r3, [r1], #8
+	pld	[r0, #64]
+	pld	[r1, #64]
 
 	@ For longer strings, we actaully need a stack frame.
 	push	{ r4, r5, r6, r7 }
@@ -99,18 +96,15 @@ ENTRY (strcpy)
 	.balign	16
 2:	uqsub8	r4, r7, r2		@ Find EOS
 	uqsub8	r5, r7, r3
-	sfi_pld	r1, #128
+	pld	[r1, #128]
 	cmp	r4, #0			@ EOS in first word?
-	sfi_pld	r0, #128
+	pld	[r0, #128]
 	bne	3f
-	sfi_breg r0, \
-	str	r2, [\B], #4
+	str	r2, [r0], #4
 	cmp	r5, #0			@ EOS in second word?
 	bne	4f
-	sfi_breg r0, \
-	str	r3, [\B], #4
-	sfi_breg r1, \
-	ldrd	r2, r3, [\B], #8
+	str	r3, [r0], #4
+	ldrd	r2, r3, [r1], #8
 	b	2b
 
 3:	sub	r1, r1, #4		@ backup to first word
@@ -120,11 +114,9 @@ ENTRY (strcpy)
 	@ Note that we generally back up and re-read source bytes,
 	@ but we'll not re-write dest bytes.
 .Lbyte_loop:
-	sfi_breg r1, \
-	ldrb	r2, [\B], #1
+	ldrb	r2, [r1], #1
 	cmp	r2, #0
-	sfi_breg r0, \
-	strb	r2, [\B], #1
+	strb	r2, [r0], #1
 	bne	.Lbyte_loop
 
 	pop	{ r4, r5, r6, r7 }
@@ -169,8 +161,7 @@ ENTRY (strcpy)
 	@ Store a few bytes from the first word.
 	@ At the same time we align r0 and shift out bytes from r2.
 .rept	4-\unalign
-	sfi_breg r0, \
-	strb	r2, [\B], #1
+	strb	r2, [r0], #1
 	lsr	r2, r2, #8
 .endr
 #ifdef __ARMEB__
@@ -185,23 +176,20 @@ ENTRY (strcpy)
 	orr	r2, r2, r3, lsh_gt #(\unalign*8)
 	@ Save leftover bytes from the two words
 	lsh_ls	r6, r3, #((4-\unalign)*8)
-	sfi_breg r0, \
-	str	r2, [\B], #4
+	str	r2, [r0], #4
 	@ The "real" start of the unaligned copy loop.
-	sfi_breg r1, \
-	ldrd	r2, r3, [\B], #8	@ Load 8 more bytes
+	ldrd	r2, r3, [r1], #8	@ Load 8 more bytes
 	uqsub8	r4, r7, r2		@ Find EOS
-	sfi_pld	r1, #128
+	pld	[r1, #128]
 	uqsub8	r5, r7, r3
-	sfi_pld	r0, #128
+	pld	[r0, #128]
 	cmp	r4, #0			@ EOS in first word?
 	bne	3f
 	@ Combine the leftover and the first word
 	orr	r6, r6, r2, lsh_gt #(\unalign*8)
 	@ Discard used bytes from the first word.
 	lsh_ls	r2, r2, #((4-\unalign)*8)
-	sfi_breg r0, \
-	str	r6, [\B], #4
+	str	r6, [r0], #4
 	b	1b
 	@ Found EOS in one of the words; adjust backward
 3:	sub	r1, r1, #4
@@ -212,8 +200,7 @@ ENTRY (strcpy)
 	rev	r2, r2
 #endif
 .rept	\unalign
-	sfi_breg r0, \
-	strb	r2, [\B], #1
+	strb	r2, [r0], #1
 	lsr	r2, r2, #8
 .endr
 	b	.Lbyte_loop
diff --git a/sysdeps/arm/armv6/strlen.S b/sysdeps/arm/armv6/strlen.S
index f807f81..64a971f 100644
--- a/sysdeps/arm/armv6/strlen.S
+++ b/sysdeps/arm/armv6/strlen.S
@@ -23,8 +23,7 @@
 
 ENTRY (strlen)
 	@ r0 = start of string
-	sfi_breg r0, \
-	ldrb	r2, [\B]		@ load the first byte asap
+	ldrb	r2, [r0]		@ load the first byte asap
 
 	@ To cater to long strings, we want to search through a few
 	@ characters until we reach an aligned pointer.  To cater to
@@ -39,8 +38,7 @@ ENTRY (strlen)
 	beq	99f
 
 	@ Loop until we find ...
-1:	sfi_breg r0, \
-	ldrb	r2, [\B, #1]!
+1:	ldrb	r2, [r0, #1]!
 	subs	r3, r3, #1		@ ... the aligment point
 	it	ne
 	cmpne	r2, #0			@ ... or EOS
@@ -52,15 +50,14 @@ ENTRY (strlen)
 	add	r0, r0, #1
 
 	@ So now we're aligned.
-	sfi_breg r0, \
-	ldrd	r2, r3, [\B], #8
+	ldrd	r2, r3, [r0], #8
 #ifdef ARCH_HAS_T2
 	movw	ip, #0x0101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 	movt	ip, #0x0101
 #else
 	ldr	ip, =0x01010101
-	sfi_pld	r0, #64
+	pld	[r0, #64]
 #endif
 
 	@ Loop searching for EOS, 8 bytes at a time.
@@ -70,11 +67,10 @@ ENTRY (strlen)
 	.balign	16
 2:	uqsub8	r2, ip, r2		@ Find EOS
 	uqsub8	r3, ip, r3
-	sfi_pld	r0, #128		@ Prefetch 2 lines ahead
+	pld	[r0, #128]		@ Prefetch 2 lines ahead
 	orrs	r3, r3, r2		@ Combine the two words
 	it	eq
-	sfi_breg r0, \
-	ldrdeq	r2, r3, [\B], #8
+	ldrdeq	r2, r3, [r0], #8
 	beq	2b
 
 	@ Found something.  Disambiguate between first and second words.
diff --git a/sysdeps/arm/armv6/strrchr.S b/sysdeps/arm/armv6/strrchr.S
index d6db032..e6eea01 100644
--- a/sysdeps/arm/armv6/strrchr.S
+++ b/sysdeps/arm/armv6/strrchr.S
@@ -33,8 +33,7 @@ ENTRY (strrchr)
 	@ Loop a few times until we're aligned.
 	tst	r3, #7
 	beq	2f
-1:	sfi_breg r3, \
-	ldrb	r2, [\B], #1
+1:	ldrb	r2, [r3], #1
 	cmp	r2, r1			@ Find the character
 	it	eq
 	subeq	r0, r3, #1
@@ -65,8 +64,7 @@ ENTRY (strrchr)
 	@ Loop searching for EOS and C, 8 bytes at a time.
 	@ Any time we find a match in a word, we copy the address of
 	@ the word to r0, and the found bits to r2.
-3:	sfi_breg r3, \
-	ldrd	r4, r5, [\B], #8
+3:	ldrd	r4, r5, [r3], #8
 	@ Subtracting (unsigned saturating) from 1 means result of 1 for
 	@ any byte that was originally zero and 0 otherwise.  Therefore
 	@ we consider the lsb of each byte the "found" bit.
diff --git a/sysdeps/arm/armv6t2/memchr.S b/sysdeps/arm/armv6t2/memchr.S
index c012d73..fb4dc8e 100644
--- a/sysdeps/arm/armv6t2/memchr.S
+++ b/sysdeps/arm/armv6t2/memchr.S
@@ -65,8 +65,7 @@ ENTRY(memchr)
 
 	@ Work up to an aligned point
 5:
-	sfi_breg r0, \
-	ldrb	r3, [\B],#1
+	ldrb	r3, [r0],#1
 	subs	r2, r2, #1
 	cmp	r3, r1
 	beq	50f		@ If it matches exit found
@@ -91,8 +90,7 @@ ENTRY(memchr)
 	movs	r3, #0
 
 15:
-	sfi_breg r0, \
-	ldrd 	r4,r5, [\B],#8
+	ldrd 	r4,r5, [r0],#8
 #ifndef NO_THUMB
 	subs	r6, r6, #8
 #endif
@@ -130,8 +128,7 @@ ENTRY(memchr)
 #endif
 
 21:  @ Post aligned section, or just a short call
-	sfi_breg r0, \
-	ldrb	r3,[\B],#1
+	ldrb	r3,[r0],#1
 #ifndef NO_THUMB
 	subs	r2,r2,#1
 	eor	r3,r3,r1	@ r3 = 0 if match - doesn't break flags from sub
diff --git a/sysdeps/arm/armv6t2/strlen.S b/sysdeps/arm/armv6t2/strlen.S
index 4795c54..c72a1e7 100644
--- a/sysdeps/arm/armv6t2/strlen.S
+++ b/sysdeps/arm/armv6t2/strlen.S
@@ -67,7 +67,7 @@
 	.text
 	.p2align 6
 ENTRY(strlen)
-	sfi_pld	srcin, #0
+	pld	[srcin, #0]
 	strd	r4, r5, [sp, #-8]!
 	cfi_adjust_cfa_offset (8)
 	cfi_rel_offset (r4, 0)
@@ -76,15 +76,14 @@ ENTRY(strlen)
 	bic	src, srcin, #7
 	mvn	const_m1, #0
 	ands	tmp1, srcin, #7		/* (8 - bytes) to alignment.  */
-	sfi_pld	src, #32
+	pld	[src, #32]
 	bne.w	.Lmisaligned8
 	mov	const_0, #0
 	mov	result, #-8
 .Lloop_aligned:
 	/* Bytes 0-7.  */
-	sfi_breg src, \
-	ldrd	data1a, data1b, [\B]
-	sfi_pld	src, #64
+	ldrd	data1a, data1b, [src]
+	pld	[src, #64]
 	add	result, result, #8
 .Lstart_realigned:
 	uadd8	data1a, data1a, const_m1	/* Saturating GE<0:3> set.  */
@@ -94,8 +93,7 @@ ENTRY(strlen)
 	cbnz	data1b, .Lnull_found
 
 	/* Bytes 8-15.  */
-	sfi_breg src, \
-	ldrd	data1a, data1b, [\B, #8]
+	ldrd	data1a, data1b, [src, #8]
 	uadd8	data1a, data1a, const_m1	/* Saturating GE<0:3> set.  */
 	add	result, result, #8
 	sel	data1a, const_0, const_m1	/* Select based on GE<0:3>.  */
@@ -104,8 +102,7 @@ ENTRY(strlen)
 	cbnz	data1b, .Lnull_found
 
 	/* Bytes 16-23.  */
-	sfi_breg src, \
-	ldrd	data1a, data1b, [\B, #16]
+	ldrd	data1a, data1b, [src, #16]
 	uadd8	data1a, data1a, const_m1	/* Saturating GE<0:3> set.  */
 	add	result, result, #8
 	sel	data1a, const_0, const_m1	/* Select based on GE<0:3>.  */
@@ -114,8 +111,7 @@ ENTRY(strlen)
 	cbnz	data1b, .Lnull_found
 
 	/* Bytes 24-31.  */
-	sfi_breg src, \
-	ldrd	data1a, data1b, [\B, #24]
+	ldrd	data1a, data1b, [src, #24]
 	add	src, src, #32
 	uadd8	data1a, data1a, const_m1	/* Saturating GE<0:3> set.  */
 	add	result, result, #8
@@ -143,13 +139,12 @@ ENTRY(strlen)
 
 .Lmisaligned8:
 	cfi_restore_state
-	sfi_breg src, \
-	ldrd	data1a, data1b, [\B]
+	ldrd	data1a, data1b, [src]
 	and	tmp2, tmp1, #3
 	rsb	result, tmp1, #0
 	lsl	tmp2, tmp2, #3			/* Bytes -> bits.  */
 	tst	tmp1, #4
-	sfi_pld	src, #64
+	pld	[src, #64]
 	S2HI	tmp2, const_m1, tmp2
 #ifdef NO_THUMB
 	mvn	tmp1, tmp2
diff --git a/sysdeps/arm/armv7/multiarch/memcpy_impl.S b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
index 5d5a3ce..c1b9fb0 100644
--- a/sysdeps/arm/armv7/multiarch/memcpy_impl.S
+++ b/sysdeps/arm/armv7/multiarch/memcpy_impl.S
@@ -226,71 +226,40 @@
 
 #ifdef USE_VFP
 	.macro	cpy_line_vfp vreg, base
-	sfi_breg dst, \
-	vstr	\vreg, [\B, #\base]
-	sfi_breg src, \
-	vldr	\vreg, [\B, #\base]
-	sfi_breg dst, \
-	vstr	d0, [\B, #\base + 8]
-	sfi_breg src, \
-	vldr	d0, [\B, #\base + 8]
-	sfi_breg dst, \
-	vstr	d1, [\B, #\base + 16]
-	sfi_breg src, \
-	vldr	d1, [\B, #\base + 16]
-	sfi_breg dst, \
-	vstr	d2, [\B, #\base + 24]
-	sfi_breg src, \
-	vldr	d2, [\B, #\base + 24]
-	sfi_breg dst, \
-	vstr	\vreg, [\B, #\base + 32]
-	sfi_breg src, \
-	vldr	\vreg, [\B, #\base + prefetch_lines * 64 - 32]
-	sfi_breg dst, \
-	vstr	d0, [\B, #\base + 40]
-	sfi_breg src, \
-	vldr	d0, [\B, #\base + 40]
-	sfi_breg dst, \
-	vstr	d1, [\B, #\base + 48]
-	sfi_breg src, \
-	vldr	d1, [\B, #\base + 48]
-	sfi_breg dst, \
-	vstr	d2, [\B, #\base + 56]
-	sfi_breg src, \
-	vldr	d2, [\B, #\base + 56]
+	vstr	\vreg, [dst, #\base]
+	vldr	\vreg, [src, #\base]
+	vstr	d0, [dst, #\base + 8]
+	vldr	d0, [src, #\base + 8]
+	vstr	d1, [dst, #\base + 16]
+	vldr	d1, [src, #\base + 16]
+	vstr	d2, [dst, #\base + 24]
+	vldr	d2, [src, #\base + 24]
+	vstr	\vreg, [dst, #\base + 32]
+	vldr	\vreg, [src, #\base + prefetch_lines * 64 - 32]
+	vstr	d0, [dst, #\base + 40]
+	vldr	d0, [src, #\base + 40]
+	vstr	d1, [dst, #\base + 48]
+	vldr	d1, [src, #\base + 48]
+	vstr	d2, [dst, #\base + 56]
+	vldr	d2, [src, #\base + 56]
 	.endm
 
 	.macro	cpy_tail_vfp vreg, base
-	sfi_breg dst, \
-	vstr	\vreg, [\B, #\base]
-	sfi_breg src, \
-	vldr	\vreg, [\B, #\base]
-	sfi_breg dst, \
-	vstr	d0, [\B, #\base + 8]
-	sfi_breg src, \
-	vldr	d0, [\B, #\base + 8]
-	sfi_breg dst, \
-	vstr	d1, [\B, #\base + 16]
-	sfi_breg src, \
-	vldr	d1, [\B, #\base + 16]
-	sfi_breg dst, \
-	vstr	d2, [\B, #\base + 24]
-	sfi_breg src, \
-	vldr	d2, [\B, #\base + 24]
-	sfi_breg dst, \
-	vstr	\vreg, [\B, #\base + 32]
-	sfi_breg dst, \
-	vstr	d0, [\B, #\base + 40]
-	sfi_breg src, \
-	vldr	d0, [\B, #\base + 40]
-	sfi_breg dst, \
-	vstr	d1, [\B, #\base + 48]
-	sfi_breg src, \
-	vldr	d1, [\B, #\base + 48]
-	sfi_breg dst, \
-	vstr	d2, [\B, #\base + 56]
-	sfi_breg src, \
-	vldr	d2, [\B, #\base + 56]
+	vstr	\vreg, [dst, #\base]
+	vldr	\vreg, [src, #\base]
+	vstr	d0, [dst, #\base + 8]
+	vldr	d0, [src, #\base + 8]
+	vstr	d1, [dst, #\base + 16]
+	vldr	d1, [src, #\base + 16]
+	vstr	d2, [dst, #\base + 24]
+	vldr	d2, [src, #\base + 24]
+	vstr	\vreg, [dst, #\base + 32]
+	vstr	d0, [dst, #\base + 40]
+	vldr	d0, [src, #\base + 40]
+	vstr	d1, [dst, #\base + 48]
+	vldr	d1, [src, #\base + 48]
+	vstr	d2, [dst, #\base + 56]
+	vldr	d2, [src, #\base + 56]
 	.endm
 #endif
 
@@ -316,26 +285,16 @@ ENTRY(memcpy)
 	vst1.8	{d0}, [\reg]!
 	.endm
 
-	/* These are used by the NaCl sfi_breg macro.  */
-	.macro _sfi_breg_dmask_neon_load_d0 reg
-	_sfi_dmask \reg
-	.endm
-	.macro _sfi_breg_dmask_neon_store_d0 reg
-	_sfi_dmask \reg
-	.endm
-
 	and	tmp1, count, #0x38
 	.macro dispatch_step i
-	sfi_breg src, neon_load_d0 \B
-	sfi_breg dst, neon_store_d0 \B
+	neon_load_d0 src
+	neon_store_d0 dst
 	.endm
 	dispatch_7_dword
 
 	tst	count, #4
-	sfi_breg src, \
-	ldrne	tmp1, [\B], #4
-	sfi_breg dst, \
-	strne	tmp1, [\B], #4
+	ldrne	tmp1, [src], #4
+	strne	tmp1, [dst], #4
 #else
 	/* Copy up to 15 full words of data.  May not be aligned.  */
 	/* Cannot use VFP for unaligned data.  */
@@ -344,23 +303,17 @@ ENTRY(memcpy)
 	add	src, src, tmp1
 	/* Jump directly into the sequence below at the correct offset.  */
 	.macro dispatch_step i
-	sfi_breg src, \
-	ldr	tmp1, [\B, #-(\i * 4)]
-	sfi_breg dst, \
-	str	tmp1, [\B, #-(\i * 4)]
+	ldr	tmp1, [src, #-(\i * 4)]
+	str	tmp1, [dst, #-(\i * 4)]
 	.endm
 	dispatch_15_word
 #endif
 
 	lsls	count, count, #31
-	sfi_breg src, \
-	ldrhcs	tmp1, [\B], #2
-	sfi_breg src, \
-	ldrbne	src, [\B]		/* Src is dead, use as a scratch.  */
-	sfi_breg dst, \
-	strhcs	tmp1, [\B], #2
-	sfi_breg dst, \
-	strbne	src, [\B]
+	ldrhcs	tmp1, [src], #2
+	ldrbne	src, [src]		/* Src is dead, use as a scratch.  */
+	strhcs	tmp1, [dst], #2
+	strbne	src, [dst]
 	bx	lr
 
 .Lcpy_not_short:
@@ -388,19 +341,13 @@ ENTRY(memcpy)
 	beq	1f
 	rsbs	tmp2, tmp2, #0
 	sub	count, count, tmp2, lsr #29
-	sfi_breg src, \
-	ldrmi	tmp1, [\B], #4
-	sfi_breg dst, \
-	strmi	tmp1, [\B], #4
+	ldrmi	tmp1, [src], #4
+	strmi	tmp1, [dst], #4
 	lsls	tmp2, tmp2, #2
-	sfi_breg src, \
-	ldrhcs	tmp1, [\B], #2
-	sfi_breg src, \
-	ldrbne	tmp2, [\B], #1
-	sfi_breg dst, \
-	strhcs	tmp1, [\B], #2
-	sfi_breg dst, \
-	strbne	tmp2, [\B], #1
+	ldrhcs	tmp1, [src], #2
+	ldrbne	tmp2, [src], #1
+	strhcs	tmp1, [dst], #2
+	strbne	tmp2, [dst], #1
 
 1:
 	subs	tmp2, count, #64	/* Use tmp2 for count.  */
@@ -412,40 +359,24 @@ ENTRY(memcpy)
 .Lcpy_body_medium:			/* Count in tmp2.  */
 #ifdef USE_VFP
 1:
-	sfi_breg src, \
-	vldr	d0, [\B, #0]
+	vldr	d0, [src, #0]
 	subs	tmp2, tmp2, #64
-	sfi_breg src, \
-	vldr	d1, [\B, #8]
-	sfi_breg dst, \
-	vstr	d0, [\B, #0]
-	sfi_breg src, \
-	vldr	d0, [\B, #16]
-	sfi_breg dst, \
-	vstr	d1, [\B, #8]
-	sfi_breg src, \
-	vldr	d1, [\B, #24]
-	sfi_breg dst, \
-	vstr	d0, [\B, #16]
-	sfi_breg src, \
-	vldr	d0, [\B, #32]
-	sfi_breg dst, \
-	vstr	d1, [\B, #24]
-	sfi_breg src, \
-	vldr	d1, [\B, #40]
-	sfi_breg dst, \
-	vstr	d0, [\B, #32]
-	sfi_breg src, \
-	vldr	d0, [\B, #48]
-	sfi_breg dst, \
-	vstr	d1, [\B, #40]
-	sfi_breg src, \
-	vldr	d1, [\B, #56]
-	sfi_breg dst, \
-	vstr	d0, [\B, #48]
+	vldr	d1, [src, #8]
+	vstr	d0, [dst, #0]
+	vldr	d0, [src, #16]
+	vstr	d1, [dst, #8]
+	vldr	d1, [src, #24]
+	vstr	d0, [dst, #16]
+	vldr	d0, [src, #32]
+	vstr	d1, [dst, #24]
+	vldr	d1, [src, #40]
+	vstr	d0, [dst, #32]
+	vldr	d0, [src, #48]
+	vstr	d1, [dst, #40]
+	vldr	d1, [src, #56]
+	vstr	d0, [dst, #48]
 	add	src, src, #64
-	sfi_breg dst, \
-	vstr	d1, [\B, #56]
+	vstr	d1, [dst, #56]
 	add	dst, dst, #64
 	bge	1b
 	tst	tmp2, #0x3f
@@ -456,48 +387,30 @@ ENTRY(memcpy)
 	add	dst, dst, tmp1
 	add	src, src, tmp1
 	.macro dispatch_step i
-	sfi_breg src, \
-	vldr	d0, [\B, #-(\i * 8)]
-	sfi_breg dst, \
-	vstr	d0, [\B, #-(\i * 8)]
+	vldr	d0, [src, #-(\i * 8)]
+	vstr	d0, [dst, #-(\i * 8)]
 	.endm
 	dispatch_7_dword
 #else
 	sub	src, src, #8
 	sub	dst, dst, #8
 1:
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #8]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #8]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #16]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #16]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #24]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #24]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #32]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #32]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #40]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #40]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #48]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #48]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #56]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #56]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #64]!
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #64]!
+	ldrd	A_l, A_h, [src, #8]
+	strd	A_l, A_h, [dst, #8]
+	ldrd	A_l, A_h, [src, #16]
+	strd	A_l, A_h, [dst, #16]
+	ldrd	A_l, A_h, [src, #24]
+	strd	A_l, A_h, [dst, #24]
+	ldrd	A_l, A_h, [src, #32]
+	strd	A_l, A_h, [dst, #32]
+	ldrd	A_l, A_h, [src, #40]
+	strd	A_l, A_h, [dst, #40]
+	ldrd	A_l, A_h, [src, #48]
+	strd	A_l, A_h, [dst, #48]
+	ldrd	A_l, A_h, [src, #56]
+	strd	A_l, A_h, [dst, #56]
+	ldrd	A_l, A_h, [src, #64]!
+	strd	A_l, A_h, [dst, #64]!
 	subs	tmp2, tmp2, #64
 	bge	1b
 	tst	tmp2, #0x3f
@@ -524,28 +437,20 @@ ENTRY(memcpy)
 	add	dst, dst, tmp1
 	add	src, src, tmp1
 	.macro dispatch_step i
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #-(\i * 8)]
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #-(\i * 8)]
+	ldrd	A_l, A_h, [src, #-(\i * 8)]
+	strd	A_l, A_h, [dst, #-(\i * 8)]
 	.endm
 	dispatch_7_dword
 #endif
 
 	tst	tmp2, #4
-	sfi_breg src, \
-	ldrne	tmp1, [\B], #4
-	sfi_breg dst, \
-	strne	tmp1, [\B], #4
+	ldrne	tmp1, [src], #4
+	strne	tmp1, [dst], #4
 	lsls	tmp2, tmp2, #31		/* Count (tmp2) now dead. */
-	sfi_breg src, \
-	ldrhcs	tmp1, [\B], #2
-	sfi_breg src, \
-	ldrbne	tmp2, [\B]
-	sfi_breg dst, \
-	strhcs	tmp1, [\B], #2
-	sfi_breg dst, \
-	strbne	tmp2, [\B]
+	ldrhcs	tmp1, [src], #2
+	ldrbne	tmp2, [src]
+	strhcs	tmp1, [dst], #2
+	strbne	tmp2, [dst]
 
 .Ldone:
 	ldr	tmp2, [sp], #FRAME_SIZE
@@ -565,23 +470,15 @@ ENTRY(memcpy)
 	   copy position into a register.  This should act like a PLD
 	   operation but we won't have to repeat the transfer.  */
 
-	sfi_breg src, \
-	vldr	d3, [\B, #0]
-	sfi_breg src, \
-	vldr	d4, [\B, #64]
-	sfi_breg src, \
-	vldr	d5, [\B, #128]
-	sfi_breg src, \
-	vldr	d6, [\B, #192]
-	sfi_breg src, \
-	vldr	d7, [\B, #256]
-
-	sfi_breg src, \
-	vldr	d0, [\B, #8]
-	sfi_breg src, \
-	vldr	d1, [\B, #16]
-	sfi_breg src, \
-	vldr	d2, [\B, #24]
+	vldr	d3, [src, #0]
+	vldr	d4, [src, #64]
+	vldr	d5, [src, #128]
+	vldr	d6, [src, #192]
+	vldr	d7, [src, #256]
+
+	vldr	d0, [src, #8]
+	vldr	d1, [src, #16]
+	vldr	d2, [src, #24]
 	add	src, src, #32
 
 	subs	tmp2, tmp2, #prefetch_lines * 64 * 2
@@ -606,31 +503,19 @@ ENTRY(memcpy)
 	add	src, src, #3 * 64
 	add	dst, dst, #3 * 64
 	cpy_tail_vfp	d6, 0
-	sfi_breg dst, \
-	vstr	d7, [\B, #64]
-	sfi_breg src, \
-	vldr	d7, [\B, #64]
-	sfi_breg dst, \
-	vstr	d0, [\B, #64 + 8]
-	sfi_breg src, \
-	vldr	d0, [\B, #64 + 8]
-	sfi_breg dst, \
-	vstr	d1, [\B, #64 + 16]
-	sfi_breg src, \
-	vldr	d1, [\B, #64 + 16]
-	sfi_breg dst, \
-	vstr	d2, [\B, #64 + 24]
-	sfi_breg src, \
-	vldr	d2, [\B, #64 + 24]
-	sfi_breg dst, \
-	vstr	d7, [\B, #64 + 32]
+	vstr	d7, [dst, #64]
+	vldr	d7, [src, #64]
+	vstr	d0, [dst, #64 + 8]
+	vldr	d0, [src, #64 + 8]
+	vstr	d1, [dst, #64 + 16]
+	vldr	d1, [src, #64 + 16]
+	vstr	d2, [dst, #64 + 24]
+	vldr	d2, [src, #64 + 24]
+	vstr	d7, [dst, #64 + 32]
 	add	src, src, #96
-	sfi_breg dst, \
-	vstr	d0, [\B, #64 + 40]
-	sfi_breg dst, \
-	vstr	d1, [\B, #64 + 48]
-	sfi_breg dst, \
-	vstr	d2, [\B, #64 + 56]
+	vstr	d0, [dst, #64 + 40]
+	vstr	d1, [dst, #64 + 48]
+	vstr	d2, [dst, #64 + 56]
 	add	dst, dst, #128
 	add	tmp2, tmp2, #prefetch_lines * 64
 	b	.Lcpy_body_medium
@@ -641,83 +526,59 @@ ENTRY(memcpy)
 	/* Pre-bias src and dst.  */
 	sub	src, src, #8
 	sub	dst, dst, #8
-	sfi_pld	src, #8
-	sfi_pld	src, #72
+	pld	[src, #8]
+	pld	[src, #72]
 	subs	tmp2, tmp2, #64
-	sfi_pld	src, #136
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #8]
+	pld	[src, #136]
+	ldrd	A_l, A_h, [src, #8]
 	strd	B_l, B_h, [sp, #8]
 	cfi_rel_offset (B_l, 8)
 	cfi_rel_offset (B_h, 12)
-	sfi_breg src, \
-	ldrd	B_l, B_h, [\B, #16]
+	ldrd	B_l, B_h, [src, #16]
 	strd	C_l, C_h, [sp, #16]
 	cfi_rel_offset (C_l, 16)
 	cfi_rel_offset (C_h, 20)
-	sfi_breg src, \
-	ldrd	C_l, C_h, [\B, #24]
+	ldrd	C_l, C_h, [src, #24]
 	strd	D_l, D_h, [sp, #24]
 	cfi_rel_offset (D_l, 24)
 	cfi_rel_offset (D_h, 28)
-	sfi_pld	src, #200
-	sfi_breg src, \
-	ldrd	D_l, D_h, [\B, #32]!
+	pld	[src, #200]
+	ldrd	D_l, D_h, [src, #32]!
 	b	1f
 	.p2align	6
 2:
-	sfi_pld	src, #232
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #40]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #40]
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #48]
-	sfi_breg src, \
-	ldrd	B_l, B_h, [\B, #48]
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #56]
-	sfi_breg src, \
-	ldrd	C_l, C_h, [\B, #56]
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #64]!
-	sfi_breg src, \
-	ldrd	D_l, D_h, [\B, #64]!
+	pld	[src, #232]
+	strd	A_l, A_h, [dst, #40]
+	ldrd	A_l, A_h, [src, #40]
+	strd	B_l, B_h, [dst, #48]
+	ldrd	B_l, B_h, [src, #48]
+	strd	C_l, C_h, [dst, #56]
+	ldrd	C_l, C_h, [src, #56]
+	strd	D_l, D_h, [dst, #64]!
+	ldrd	D_l, D_h, [src, #64]!
 	subs	tmp2, tmp2, #64
 1:
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #8]
-	sfi_breg src, \
-	ldrd	A_l, A_h, [\B, #8]
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #16]
-	sfi_breg src, \
-	ldrd	B_l, B_h, [\B, #16]
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #24]
-	sfi_breg src, \
-	ldrd	C_l, C_h, [\B, #24]
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #32]
-	sfi_breg src, \
-	ldrd	D_l, D_h, [\B, #32]
+	strd	A_l, A_h, [dst, #8]
+	ldrd	A_l, A_h, [src, #8]
+	strd	B_l, B_h, [dst, #16]
+	ldrd	B_l, B_h, [src, #16]
+	strd	C_l, C_h, [dst, #24]
+	ldrd	C_l, C_h, [src, #24]
+	strd	D_l, D_h, [dst, #32]
+	ldrd	D_l, D_h, [src, #32]
 	bcs	2b
 	/* Save the remaining bytes and restore the callee-saved regs.  */
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #40]
+	strd	A_l, A_h, [dst, #40]
 	add	src, src, #40
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #48]
+	strd	B_l, B_h, [dst, #48]
 	ldrd	B_l, B_h, [sp, #8]
 	cfi_restore (B_l)
 	cfi_restore (B_h)
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #56]
+	strd	C_l, C_h, [dst, #56]
 	ldrd	C_l, C_h, [sp, #16]
 	cfi_restore (C_l)
 	cfi_restore (C_h)
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #64]
+	strd	D_l, D_h, [dst, #64]
 	ldrd	D_l, D_h, [sp, #24]
 	cfi_restore (D_l)
 	cfi_restore (D_h)
@@ -734,35 +595,29 @@ ENTRY(memcpy)
 	cfi_remember_state
 
 .Lcpy_notaligned:
-	sfi_pld	src
-	sfi_pld	src, #64
+	pld	[src, #0]
+	pld	[src, #64]
 	/* There's at least 64 bytes to copy, but there is no mutual
 	   alignment.  */
 	/* Bring DST to 64-bit alignment.  */
 	lsls	tmp2, dst, #29
-	sfi_pld	src, #(2 * 64)
+	pld	[src, #(2 * 64)]
 	beq	1f
 	rsbs	tmp2, tmp2, #0
 	sub	count, count, tmp2, lsr #29
-	sfi_breg src, \
-	ldrmi	tmp1, [\B], #4
-	sfi_breg dst, \
-	strmi	tmp1, [\B], #4
+	ldrmi	tmp1, [src], #4
+	strmi	tmp1, [dst], #4
 	lsls	tmp2, tmp2, #2
-	sfi_breg src, \
-	ldrbne	tmp1, [\B], #1
-	sfi_breg src, \
-	ldrhcs	tmp2, [\B], #2
-	sfi_breg dst, \
-	strbne	tmp1, [\B], #1
-	sfi_breg dst, \
-	strhcs	tmp2, [\B], #2
+	ldrbne	tmp1, [src], #1
+	ldrhcs	tmp2, [src], #2
+	strbne	tmp1, [dst], #1
+	strhcs	tmp2, [dst], #2
 1:
-	sfi_pld	src, #(3 * 64)
+	pld	[src, #(3 * 64)]
 	subs	count, count, #64
 	ldrmi	tmp2, [sp], #FRAME_SIZE
 	bmi	.Ltail63unaligned
-	sfi_pld	src, #(4 * 64)
+	pld	[src, #(4 * 64)]
 
 #ifdef USE_NEON
 	/* These need an extra layer of macro just to work around a
@@ -775,132 +630,88 @@ ENTRY(memcpy)
 	vst1.8	{\reglist}, [ALIGN (\basereg, 64)]!
 	.endm
 
-	/* These are used by the NaCl sfi_breg macro.  */
-	.macro _sfi_breg_dmask_neon_load_multi reg
-	_sfi_dmask \reg
-	.endm
-	.macro _sfi_breg_dmask_neon_store_multi reg
-	_sfi_dmask \reg
-	.endm
-
-	sfi_breg src, neon_load_multi d0-d3, \B
-	sfi_breg src, neon_load_multi d4-d7, \B
+	neon_load_multi d0-d3, src
+	neon_load_multi d4-d7, src
 	subs	count, count, #64
 	bmi	2f
 1:
-	sfi_pld	src, #(4 * 64)
-	sfi_breg dst, neon_store_multi d0-d3, \B
-	sfi_breg src, neon_load_multi d0-d3, \B
-	sfi_breg dst, neon_store_multi d4-d7, \B
-	sfi_breg src, neon_load_multi d4-d7, \B
+	pld	[src, #(4 * 64)]
+	neon_store_multi d0-d3, dst
+	neon_load_multi d0-d3, src
+	neon_store_multi d4-d7, dst
+	neon_load_multi d4-d7, src
 	subs	count, count, #64
 	bpl	1b
 2:
-	sfi_breg dst, neon_store_multi d0-d3, \B
-	sfi_breg dst, neon_store_multi d4-d7, \B
+	neon_store_multi d0-d3, dst
+	neon_store_multi d4-d7, dst
 	ands	count, count, #0x3f
 #else
 	/* Use an SMS style loop to maximize the I/O bandwidth.  */
 	sub	src, src, #4
 	sub	dst, dst, #8
 	subs	tmp2, count, #64	/* Use tmp2 for count.  */
-	sfi_breg src, \
-	ldr	A_l, [\B, #4]
-	sfi_breg src, \
-	ldr	A_h, [\B, #8]
+	ldr	A_l, [src, #4]
+	ldr	A_h, [src, #8]
 	strd	B_l, B_h, [sp, #8]
 	cfi_rel_offset (B_l, 8)
 	cfi_rel_offset (B_h, 12)
-	sfi_breg src, \
-	ldr	B_l, [\B, #12]
-	sfi_breg src, \
-	ldr	B_h, [\B, #16]
+	ldr	B_l, [src, #12]
+	ldr	B_h, [src, #16]
 	strd	C_l, C_h, [sp, #16]
 	cfi_rel_offset (C_l, 16)
 	cfi_rel_offset (C_h, 20)
-	sfi_breg src, \
-	ldr	C_l, [\B, #20]
-	sfi_breg src, \
-	ldr	C_h, [\B, #24]
+	ldr	C_l, [src, #20]
+	ldr	C_h, [src, #24]
 	strd	D_l, D_h, [sp, #24]
 	cfi_rel_offset (D_l, 24)
 	cfi_rel_offset (D_h, 28)
-	sfi_breg src, \
-	ldr	D_l, [\B, #28]
-	sfi_breg src, \
-	ldr	D_h, [\B, #32]!
+	ldr	D_l, [src, #28]
+	ldr	D_h, [src, #32]!
 	b	1f
 	.p2align	6
 2:
-	sfi_pld	src, #(5 * 64) - (32 - 4)
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #40]
-	sfi_breg src, \
-	ldr	A_l, [\B, #36]
-	sfi_breg src, \
-	ldr	A_h, [\B, #40]
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #48]
-	sfi_breg src, \
-	ldr	B_l, [\B, #44]
-	sfi_breg src, \
-	ldr	B_h, [\B, #48]
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #56]
-	sfi_breg src, \
-	ldr	C_l, [\B, #52]
-	sfi_breg src, \
-	ldr	C_h, [\B, #56]
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #64]!
-	sfi_breg src, \
-	ldr	D_l, [\B, #60]
-	sfi_breg src, \
-	ldr	D_h, [\B, #64]!
+	pld	[src, #(5 * 64) - (32 - 4)]
+	strd	A_l, A_h, [dst, #40]
+	ldr	A_l, [src, #36]
+	ldr	A_h, [src, #40]
+	strd	B_l, B_h, [dst, #48]
+	ldr	B_l, [src, #44]
+	ldr	B_h, [src, #48]
+	strd	C_l, C_h, [dst, #56]
+	ldr	C_l, [src, #52]
+	ldr	C_h, [src, #56]
+	strd	D_l, D_h, [dst, #64]!
+	ldr	D_l, [src, #60]
+	ldr	D_h, [src, #64]!
 	subs	tmp2, tmp2, #64
 1:
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #8]
-	sfi_breg src, \
-	ldr	A_l, [\B, #4]
-	sfi_breg src, \
-	ldr	A_h, [\B, #8]
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #16]
-	sfi_breg src, \
-	ldr	B_l, [\B, #12]
-	sfi_breg src, \
-	ldr	B_h, [\B, #16]
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #24]
-	sfi_breg src, \
-	ldr	C_l, [\B, #20]
-	sfi_breg src, \
-	ldr	C_h, [\B, #24]
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #32]
-	sfi_breg src, \
-	ldr	D_l, [\B, #28]
-	sfi_breg src, \
-	ldr	D_h, [\B, #32]
+	strd	A_l, A_h, [dst, #8]
+	ldr	A_l, [src, #4]
+	ldr	A_h, [src, #8]
+	strd	B_l, B_h, [dst, #16]
+	ldr	B_l, [src, #12]
+	ldr	B_h, [src, #16]
+	strd	C_l, C_h, [dst, #24]
+	ldr	C_l, [src, #20]
+	ldr	C_h, [src, #24]
+	strd	D_l, D_h, [dst, #32]
+	ldr	D_l, [src, #28]
+	ldr	D_h, [src, #32]
 	bcs	2b
 
 	/* Save the remaining bytes and restore the callee-saved regs.  */
-	sfi_breg dst, \
-	strd	A_l, A_h, [\B, #40]
+	strd	A_l, A_h, [dst, #40]
 	add	src, src, #36
-	sfi_breg dst, \
-	strd	B_l, B_h, [\B, #48]
+	strd	B_l, B_h, [dst, #48]
 	ldrd	B_l, B_h, [sp, #8]
 	cfi_restore (B_l)
 	cfi_restore (B_h)
-	sfi_breg dst, \
-	strd	C_l, C_h, [\B, #56]
+	strd	C_l, C_h, [dst, #56]
 	ldrd	C_l, C_h, [sp, #16]
 	cfi_restore (C_l)
 	cfi_restore (C_h)
-	sfi_breg dst, \
-	strd	D_l, D_h, [\B, #64]
+	strd	D_l, D_h, [dst, #64]
 	ldrd	D_l, D_h, [sp, #24]
 	cfi_restore (D_l)
 	cfi_restore (D_h)
diff --git a/sysdeps/arm/armv7/strcmp.S b/sysdeps/arm/armv7/strcmp.S
index c8fab4b..25d0557 100644
--- a/sysdeps/arm/armv7/strcmp.S
+++ b/sysdeps/arm/armv7/strcmp.S
@@ -178,10 +178,8 @@
 #endif
 ENTRY (strcmp)
 #if STRCMP_PRECHECK == 1
-	sfi_breg src1, \
-	ldrb	r2, [\B]
-	sfi_breg src2, \
-	ldrb	r3, [\B]
+	ldrb	r2, [src1]
+	ldrb	r3, [src2]
 	cmp	r2, #1
 	it	cs
 	cmpcs	r2, r3
@@ -211,11 +209,9 @@ ENTRY (strcmp)
 	and	tmp2, tmp1, #3
 	bic	src2, src2, #7
 	lsl	tmp2, tmp2, #3	/* Bytes -> bits.  */
-	sfi_breg src1, \
-	ldrd	data1a, data1b, [\B], #16
+	ldrd	data1a, data1b, [src1], #16
 	tst	tmp1, #4
-	sfi_breg src2, \
-	ldrd	data2a, data2b, [\B], #16
+	ldrd	data2a, data2b, [src2], #16
 	prepare_mask tmp1, tmp2
 	apply_mask data1a, tmp1
 	apply_mask data2a, tmp1
@@ -231,10 +227,8 @@ ENTRY (strcmp)
 	.p2align 5,,12  /* Don't start in the tail bytes of a cache line.  */
 	.p2align 2	/* Always word aligned.  */
 .Lloop_aligned8:
-	sfi_breg src1, \
-	ldrd	data1a, data1b, [\B], #16
-	sfi_breg src2, \
-	ldrd	data2a, data2b, [\B], #16
+	ldrd	data1a, data1b, [src1], #16
+	ldrd	data2a, data2b, [src2], #16
 .Lstart_realigned8:
 	uadd8	syndrome_b, data1a, const_m1	/* Only want GE bits,  */
 	eor	syndrome_a, data1a, data2a
@@ -245,10 +239,8 @@ ENTRY (strcmp)
 	sel	syndrome_b, syndrome_b, const_m1
 	cbnz	syndrome_b, .Ldiff_in_b
 
-	sfi_breg src1, \
-	ldrd	data1a, data1b, [\B, #-8]
-	sfi_breg src2, \
-	ldrd	data2a, data2b, [\B, #-8]
+	ldrd	data1a, data1b, [src1, #-8]
+	ldrd	data2a, data2b, [src2, #-8]
 	uadd8	syndrome_b, data1a, const_m1	/* Only want GE bits,  */
 	eor	syndrome_a, data1a, data2a
 	sel	syndrome_a, syndrome_a, const_m1
@@ -279,19 +271,15 @@ ENTRY (strcmp)
 	/* Unrolled by a factor of 2, to reduce the number of post-increment
 	   operations.  */
 .Lloop_aligned4:
-	sfi_breg src1, \
-	ldr	data1, [\B], #8
-	sfi_breg src2, \
-	ldr	data2, [\B], #8
+	ldr	data1, [src1], #8
+	ldr	data2, [src2], #8
 .Lstart_realigned4:
 	uadd8	syndrome, data1, const_m1	/* Only need GE bits.  */
 	eor	syndrome, data1, data2
 	sel	syndrome, syndrome, const_m1
 	cbnz	syndrome, .Laligned4_done
-	sfi_breg src1, \
-	ldr	data1, [\B, #-4]
-	sfi_breg src2, \
-	ldr	data2, [\B, #-4]
+	ldr	data1, [src1, #-4]
+	ldr	data2, [src2, #-4]
 	uadd8	syndrome, data1, const_m1
 	eor	syndrome, data1, data2
 	sel	syndrome, syndrome, const_m1
@@ -307,11 +295,9 @@ ENTRY (strcmp)
 	   masking off the unwanted loaded data to prevent a difference.  */
 	lsl	tmp1, tmp1, #3	/* Bytes -> bits.  */
 	bic	src1, src1, #3
-	sfi_breg src1, \
-	ldr	data1, [\B], #8
+	ldr	data1, [src1], #8
 	bic	src2, src2, #3
-	sfi_breg src2, \
-	ldr	data2, [\B], #8
+	ldr	data2, [src2], #8
 
 	prepare_mask tmp1, tmp1
 	apply_mask data1, tmp1
@@ -324,30 +310,26 @@ ENTRY (strcmp)
 	sub	src2, src2, tmp1
 	bic	src1, src1, #3
 	lsls	tmp1, tmp1, #31
-	sfi_breg src1, \
-	ldr	data1, [\B], #4
+	ldr	data1, [src1], #4
 	beq	.Laligned_m2
 	bcs	.Laligned_m1
 
 #if STRCMP_PRECHECK == 0
-	sfi_breg src2, \
-	ldrb	data2, [\B, #1]
+	ldrb	data2, [src2, #1]
 	uxtb	tmp1, data1, ror #BYTE1_OFFSET
 	subs	tmp1, tmp1, data2
 	bne	.Lmisaligned_exit
 	cbz	data2, .Lmisaligned_exit
 
 .Laligned_m2:
-	sfi_breg src2, \
-	ldrb	data2, [\B, #2]
+	ldrb	data2, [src2, #2]
 	uxtb	tmp1, data1, ror #BYTE2_OFFSET
 	subs	tmp1, tmp1, data2
 	bne	.Lmisaligned_exit
 	cbz	data2, .Lmisaligned_exit
 
 .Laligned_m1:
-	sfi_breg src2, \
-	ldrb	data2, [\B, #3]
+	ldrb	data2, [src2, #3]
 	uxtb	tmp1, data1, ror #BYTE3_OFFSET
 	subs	tmp1, tmp1, data2
 	bne	.Lmisaligned_exit
@@ -356,16 +338,14 @@ ENTRY (strcmp)
 #else  /* STRCMP_PRECHECK */
 	/* If we've done the pre-check, then we don't need to check the
 	   first byte again here.  */
-	sfi_breg src2, \
-	ldrb	data2, [\B, #2]
+	ldrb	data2, [src2, #2]
 	uxtb	tmp1, data1, ror #BYTE2_OFFSET
 	subs	tmp1, tmp1, data2
 	bne	.Lmisaligned_exit
 	cbz	data2, .Lmisaligned_exit
 
 .Laligned_m2:
-	sfi_breg src2, \
-	ldrb	data2, [\B, #3]
+	ldrb	data2, [src2, #3]
 	uxtb	tmp1, data1, ror #BYTE3_OFFSET
 	subs	tmp1, tmp1, data2
 	bne	.Lmisaligned_exit
@@ -391,13 +371,11 @@ ENTRY (strcmp)
 	cfi_restore_state
 	/* src1 is word aligned, but src2 has no common alignment
 	   with it.  */
-	sfi_breg src1, \
-	ldr	data1, [\B], #4
+	ldr	data1, [src1], #4
 	lsls	tmp1, src2, #31		/* C=src2[1], Z=src2[0].  */
 
 	bic	src2, src2, #3
-	sfi_breg src2, \
-	ldr	data2, [\B], #4
+	ldr	data2, [src2], #4
 	bhi	.Loverlap1		/* C=1, Z=0 => src2[1:0] = 0b11.  */
 	bcs	.Loverlap2		/* C=1, Z=1 => src2[1:0] = 0b10.  */
 
@@ -409,13 +387,11 @@ ENTRY (strcmp)
 	sel	syndrome, syndrome, const_m1
 	bne	4f
 	cbnz	syndrome, 5f
-	sfi_breg src2, \
-	ldr	data2, [\B], #4
+	ldr	data2, [src2], #4
 	eor	tmp1, tmp1, data1
 	cmp	tmp1, data2, S2HI #24
 	bne	6f
-	sfi_breg src1, \
-	ldr	data1, [\B], #4
+	ldr	data1, [src1], #4
 	b	.Loverlap3
 4:
 	S2LO	data2, data2, #8
@@ -427,8 +403,7 @@ ENTRY (strcmp)
 
 	/* We can only get here if the MSB of data1 contains 0, so
 	   fast-path the exit.  */
-	sfi_breg src2, \
-	ldrb	result, [\B]
+	ldrb	result, [src2]
 	ldrd	r4, r5, [sp], #16
 	cfi_remember_state
 	cfi_def_cfa_offset (0)
@@ -454,13 +429,11 @@ ENTRY (strcmp)
 	sel	syndrome, syndrome, const_m1
 	bne	4f
 	cbnz	syndrome, 5f
-	sfi_breg src2, \
-	ldr	data2, [\B], #4
+	ldr	data2, [src2], #4
 	eor	tmp1, tmp1, data1
 	cmp	tmp1, data2, S2HI #16
 	bne	6f
-	sfi_breg src1, \
-	ldr	data1, [\B], #4
+	ldr	data1, [src1], #4
 	b	.Loverlap2
 4:
 	S2LO	data2, data2, #16
@@ -469,8 +442,7 @@ ENTRY (strcmp)
 	ands	syndrome, syndrome, const_m1, S2LO #16
 	bne	.Lstrcmp_done_equal
 
-	sfi_breg src2, \
-	ldrh	data2, [\B]
+	ldrh	data2, [src2]
 	S2LO	data1, data1, #16
 #ifdef __ARM_BIG_ENDIAN
 	lsl	data2, data2, #16
@@ -490,13 +462,11 @@ ENTRY (strcmp)
 	sel	syndrome, syndrome, const_m1
 	bne	4f
 	cbnz	syndrome, 5f
-	sfi_breg src2, \
-	ldr	data2, [\B], #4
+	ldr	data2, [src2], #4
 	eor	tmp1, tmp1, data1
 	cmp	tmp1, data2, S2HI #8
 	bne	6f
-	sfi_breg src1, \
-	ldr	data1, [\B], #4
+	ldr	data1, [src1], #4
 	b	.Loverlap1
 4:
 	S2LO	data2, data2, #24
@@ -504,8 +474,7 @@ ENTRY (strcmp)
 5:
 	tst	syndrome, #LSB
 	bne	.Lstrcmp_done_equal
-	sfi_breg src2, \
-	ldr	data2, [\B]
+	ldr	data2, [src2]
 6:
 	S2LO	data1, data1, #8
 	bic	data2, data2, #MSB
diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
index 5caf2c1..e7bed02 100644
--- a/sysdeps/arm/dl-tlsdesc.S
+++ b/sysdeps/arm/dl-tlsdesc.S
@@ -32,8 +32,7 @@
 	eabi_fnstart
 	.align 2
 _dl_tlsdesc_return:
-	sfi_breg r0, \
-	ldr	r0, [\B]
+	ldr	r0, [r0]
 	BX	(lr)
 	eabi_fnend
 	cfi_endproc
@@ -92,30 +91,23 @@ _dl_tlsdesc_dynamic:
 	cfi_rel_offset (r3,4)
 	cfi_rel_offset (r4,8)
 	cfi_rel_offset (lr,12)
-	sfi_breg r0, \
-	ldr	r1, [\B] /* td */
+	ldr	r1, [r0] /* td */
 	GET_TLS (lr)
 	mov	r4, r0 /* r4 = tp */
-	sfi_breg r0, \
-	ldr	r0, [\B]
-	sfi_breg r1, \
-	ldr	r2, [\B, #8] /* gen_count */
-	sfi_breg r0, \
-	ldr	r3, [\B]
+	ldr	r0, [r0]
+	ldr	r2, [r1, #8] /* gen_count */
+	ldr	r3, [r0]
 	cmp	r2, r3
 	bhi	1f
-	sfi_breg r1, \
-	ldr	r3, [\B]
+	ldr	r3, [r1]
 #ifndef ARM_NO_INDEX_REGISTER
 	ldr	r2, [r0, r3, lsl #3]
 #else
 	add	lr, r0, r3, lsl #3
-	sfi_breg lr, \
-	ldr	r2, [\B]
+	ldr	r2, [lr]
 #endif
 	cmn	r2, #1
 	ittt	ne
-	sfi_breg r1, \
 	ldrne	r3, [r1, #4]
 	addne	r3, r2, r3
 	rsbne	r0, r4, r3
@@ -178,8 +170,7 @@ _dl_tlsdesc_lazy_resolver:
 	pop	{r2}
 	cfi_adjust_cfa_offset (-4)
 	cfi_restore (r2)
-	sfi_breg r0, \
-	ldr	r1, [\B, #4]
+	ldr	r1, [r0, #4]
 	BX	(r1)
 	eabi_fnend
 	cfi_endproc
@@ -220,8 +211,7 @@ _dl_tlsdesc_resolve_hold:
 	cfi_restore (r2)
 	cfi_restore (r1)
 	cfi_restore (r0)
-	sfi_breg r0, \
-	ldr     r1, [\B, #4]
+	ldr     r1, [r0, #4]
 	BX      (r1)
 	eabi_fnend
 	cfi_endproc
diff --git a/sysdeps/arm/memcpy.S b/sysdeps/arm/memcpy.S
index bdb830a..62e48c3 100644
--- a/sysdeps/arm/memcpy.S
+++ b/sysdeps/arm/memcpy.S
@@ -70,7 +70,7 @@ ENTRY(memcpy)
 		subs	r2, r2, #4
 		blt	8f
 		ands	ip, r0, #3
-	PLD(	sfi_pld	r1, #0			)
+	PLD(	pld	[r1, #0]		)
 		bne	9f
 		ands	ip, r1, #3
 		bne	10f
@@ -97,19 +97,17 @@ ENTRY(memcpy)
 	CALGN(	bx	r4			)
 #endif
 
-	PLD(	sfi_pld	r1, #0			)
+	PLD(	pld	[r1, #0]		)
 2:	PLD(	subs	r2, r2, #96		)
-	PLD(	sfi_pld	r1, #28			)
+	PLD(	pld	[r1, #28]		)
 	PLD(	blt	4f			)
-	PLD(	sfi_pld	r1, #60			)
-	PLD(	sfi_pld	r1, #92			)
+	PLD(	pld	[r1, #60]		)
+	PLD(	pld	[r1, #92]		)
 
-3:	PLD(	sfi_pld	r1, #124		)
-4:		sfi_breg r1, \
-		ldmia	\B!, {r3, r4, r5, r6, r7, r8, ip, lr}
+3:	PLD(	pld	[r1, #124]		)
+4:		ldmia	r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
 		subs	r2, r2, #32
-		sfi_breg r0, \
-		stmia	\B!, {r3, r4, r5, r6, r7, r8, ip, lr}
+		stmia	r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
 		bge	3b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	4b			)
@@ -136,26 +134,19 @@ ENTRY(memcpy)
 		.p2align ARM_BX_ALIGN_LOG2
 6:		nop
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r3, [\B], #4
+		ldr	r3, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r4, [\B], #4
+		ldr	r4, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r5, [\B], #4
+		ldr	r5, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r6, [\B], #4
+		ldr	r6, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r7, [\B], #4
+		ldr	r7, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r8, [\B], #4
+		ldr	r8, [r1], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	lr, [\B], #4
+		ldr	lr, [r1], #4
 
 #ifndef ARM_ALWAYS_BX
 		add	pc, pc, ip, lsl #(ARM_BX_ALIGN_LOG2 - 2)
@@ -172,26 +163,19 @@ ENTRY(memcpy)
 		.p2align ARM_BX_ALIGN_LOG2
 66:		nop
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r3, [\B], #4
+		str	r3, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r4, [\B], #4
+		str	r4, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r5, [\B], #4
+		str	r5, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r6, [\B], #4
+		str	r6, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r7, [\B], #4
+		str	r7, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r8, [\B], #4
+		str	r8, [r0], #4
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	lr, [\B], #4
+		str	lr, [r0], #4
 
 #ifdef ARM_ALWAYS_BX
 		pop	{r10}
@@ -209,18 +193,12 @@ ENTRY(memcpy)
 		cfi_restore (r8)
 
 8:		movs	r2, r2, lsl #31
-		sfi_breg r1, \
-		ldrbne	r3, [\B], #1
-		sfi_breg r1, \
-		ldrbcs	r4, [\B], #1
-		sfi_breg r1, \
-		ldrbcs	ip, [\B]
-		sfi_breg r0, \
-		strbne	r3, [\B], #1
-		sfi_breg r0, \
-		strbcs	r4, [\B], #1
-		sfi_breg r0, \
-		strbcs	ip, [\B]
+		ldrbne	r3, [r1], #1
+		ldrbcs	r4, [r1], #1
+		ldrbcs	ip, [r1]
+		strbne	r3, [r0], #1
+		strbcs	r4, [r0], #1
+		strbcs	ip, [r0]
 
 #if ((defined (__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)) \
      || defined (ARM_ALWAYS_BX))
@@ -237,27 +215,20 @@ ENTRY(memcpy)
 
 9:		rsb	ip, ip, #4
 		cmp	ip, #2
-		sfi_breg r1, \
-		ldrbgt	r3, [\B], #1
-		sfi_breg r1, \
-		ldrbge	r4, [\B], #1
-		sfi_breg r1, \
-		ldrb	lr, [\B], #1
-		sfi_breg r0, \
-		strbgt	r3, [\B], #1
-		sfi_breg r0, \
-		strbge	r4, [\B], #1
+		ldrbgt	r3, [r1], #1
+		ldrbge	r4, [r1], #1
+		ldrb	lr, [r1], #1
+		strbgt	r3, [r0], #1
+		strbge	r4, [r0], #1
 		subs	r2, r2, ip
-		sfi_breg r0, \
-		strb	lr, [\B], #1
+		strb	lr, [r0], #1
 		blt	8b
 		ands	ip, r1, #3
 		beq	1b
 
 10:		bic	r1, r1, #3
 		cmp	ip, #2
-		sfi_breg r1, \
-		ldr	lr, [\B], #4
+		ldr	lr, [r1], #4
 		beq	17f
 		bgt	18f
 
@@ -281,20 +252,18 @@ ENTRY(memcpy)
 		cfi_rel_offset (r8, 12)
 		cfi_rel_offset (r10, 16)
 
-	PLD(	sfi_pld	r1, #0			)
+	PLD(	pld	[r1, #0]		)
 	PLD(	subs	r2, r2, #96		)
-	PLD(	sfi_pld	r1, #28			)
+	PLD(	pld	[r1, #28]		)
 	PLD(	blt	13f			)
-	PLD(	sfi_pld	r1, #60			)
-	PLD(	sfi_pld	r1, #92			)
+	PLD(	pld	[r1, #60]		)
+	PLD(	pld	[r1, #92]		)
 
-12:	PLD(	sfi_pld	r1, #124		)
-13:		sfi_breg r1, \
-		ldmia	\B!, {r4, r5, r6, r7}
+12:	PLD(	pld	[r1, #124]		)
+13:		ldmia	r1!, {r4, r5, r6, r7}
 		mov	r3, lr, PULL #\pull
 		subs	r2, r2, #32
-		sfi_breg r1, \
-		ldmia	\B!, {r8, r10, ip, lr}
+		ldmia	r1!, {r8, r10, ip, lr}
 		orr	r3, r3, r4, PUSH #\push
 		mov	r4, r4, PULL #\pull
 		orr	r4, r4, r5, PUSH #\push
@@ -310,8 +279,7 @@ ENTRY(memcpy)
 		orr	r10, r10, ip, PUSH #\push
 		mov	ip, ip, PULL #\pull
 		orr	ip, ip, lr, PUSH #\push
-		sfi_breg r0, \
-		stmia	\B!, {r3, r4, r5, r6, r7, r8, r10, ip}
+		stmia	r0!, {r3, r4, r5, r6, r7, r8, r10, ip}
 		bge	12b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	13b			)
@@ -328,12 +296,10 @@ ENTRY(memcpy)
 		beq	16f
 
 15:		mov	r3, lr, PULL #\pull
-		sfi_breg r1, \
-		ldr	lr, [\B], #4
+		ldr	lr, [r1], #4
 		subs	ip, ip, #4
 		orr	r3, r3, lr, PUSH #\push
-		sfi_breg r0, \
-		str	r3, [\B], #4
+		str	r3, [r0], #4
 		bgt	15b
 	CALGN(	cmp	r2, #0			)
 	CALGN(	bge	11b			)
diff --git a/sysdeps/arm/memmove.S b/sysdeps/arm/memmove.S
index f5247f4..b18aa32 100644
--- a/sysdeps/arm/memmove.S
+++ b/sysdeps/arm/memmove.S
@@ -87,7 +87,7 @@ ENTRY(memmove)
 		subs	r2, r2, #4
 		blt	8f
 		ands	ip, r0, #3
-	PLD(	sfi_pld	r1, #-4			)
+	PLD(	pld	[r1, #-4]		)
 		bne	9f
 		ands	ip, r1, #3
 		bne	10f
@@ -113,19 +113,17 @@ ENTRY(memmove)
 	CALGN(	bx	r4			)
 #endif
 
-	PLD(	sfi_pld	r1, #-4			)
+	PLD(	pld	[r1, #-4]		)
 2:	PLD(	subs	r2, r2, #96		)
-	PLD(	sfi_pld	r1, #-32		)
+	PLD(	pld	[r1, #-32]		)
 	PLD(	blt	4f			)
-	PLD(	sfi_pld	r1, #-64		)
-	PLD(	sfi_pld	r1, #-96		)
+	PLD(	pld	[r1, #-64]		)
+	PLD(	pld	[r1, #-96]		)
 
-3:	PLD(	sfi_pld	r1, #-128		)
-4:		sfi_breg r1, \
-		ldmdb	\B!, {r3, r4, r5, r6, r7, r8, ip, lr}
+3:	PLD(	pld	[r1, #-128]		)
+4:		ldmdb	r1!, {r3, r4, r5, r6, r7, r8, ip, lr}
 		subs	r2, r2, #32
-		sfi_breg r0, \
-		stmdb	\B!, {r3, r4, r5, r6, r7, r8, ip, lr}
+		stmdb	r0!, {r3, r4, r5, r6, r7, r8, ip, lr}
 		bge	3b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	4b			)
@@ -152,26 +150,19 @@ ENTRY(memmove)
 		.p2align ARM_BX_ALIGN_LOG2
 6:		nop
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r3, [\B, #-4]!
+		ldr	r3, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r4, [\B, #-4]!
+		ldr	r4, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r5, [\B, #-4]!
+		ldr	r5, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r6, [\B, #-4]!
+		ldr	r6, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r7, [\B, #-4]!
+		ldr	r7, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	r8, [\B, #-4]!
+		ldr	r8, [r1, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r1, \
-		ldr	lr, [\B, #-4]!
+		ldr	lr, [r1, #-4]!
 
 #ifndef ARM_ALWAYS_BX
 		add	pc, pc, ip, lsl #(ARM_BX_ALIGN_LOG2 - 2)
@@ -188,26 +179,19 @@ ENTRY(memmove)
 		.p2align ARM_BX_ALIGN_LOG2
 66:		nop
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r3, [\B, #-4]!
+		str	r3, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r4, [\B, #-4]!
+		str	r4, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r5, [\B, #-4]!
+		str	r5, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r6, [\B, #-4]!
+		str	r6, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r7, [\B, #-4]!
+		str	r7, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	r8, [\B, #-4]!
+		str	r8, [r0, #-4]!
 		.p2align ARM_BX_ALIGN_LOG2
-		sfi_breg r0, \
-		str	lr, [\B, #-4]!
+		str	lr, [r0, #-4]!
 
 #ifdef ARM_ALWAYS_BX
 		pop	{r10}
@@ -225,18 +209,12 @@ ENTRY(memmove)
 		cfi_restore (r8)
 
 8:		movs	r2, r2, lsl #31
-		sfi_breg r1, \
-		ldrbne	r3, [\B, #-1]!
-		sfi_breg r1, \
-		ldrbcs	r4, [\B, #-1]!
-		sfi_breg r1, \
-		ldrbcs	ip, [\B, #-1]
-		sfi_breg r0, \
-		strbne	r3, [\B, #-1]!
-		sfi_breg r0, \
-		strbcs	r4, [\B, #-1]!
-		sfi_breg r0, \
-		strbcs	ip, [\B, #-1]
+		ldrbne	r3, [r1, #-1]!
+		ldrbcs	r4, [r1, #-1]!
+		ldrbcs	ip, [r1, #-1]
+		strbne	r3, [r0, #-1]!
+		strbcs	r4, [r0, #-1]!
+		strbcs	ip, [r0, #-1]
 
 #if ((defined (__ARM_ARCH_4T__) && defined (__THUMB_INTERWORK__)) \
      || defined (ARM_ALWAYS_BX))
@@ -252,27 +230,20 @@ ENTRY(memmove)
 		cfi_restore_state
 
 9:		cmp	ip, #2
-		sfi_breg r1, \
-		ldrbgt	r3, [\B, #-1]!
-		sfi_breg r1, \
-		ldrbge	r4, [\B, #-1]!
-		sfi_breg r1, \
-		ldrb	lr, [\B, #-1]!
-		sfi_breg r0, \
-		strbgt	r3, [\B, #-1]!
-		sfi_breg r0, \
-		strbge	r4, [\B, #-1]!
+		ldrbgt	r3, [r1, #-1]!
+		ldrbge	r4, [r1, #-1]!
+		ldrb	lr, [r1, #-1]!
+		strbgt	r3, [r0, #-1]!
+		strbge	r4, [r0, #-1]!
 		subs	r2, r2, ip
-		sfi_breg r0, \
-		strb	lr, [\B, #-1]!
+		strb	lr, [r0, #-1]!
 		blt	8b
 		ands	ip, r1, #3
 		beq	1b
 
 10:		bic	r1, r1, #3
 		cmp	ip, #2
-		sfi_breg r1, \
-		ldr	r3, [\B, #0]
+		ldr	r3, [r1, #0]
 		beq	17f
 		blt	18f
 
@@ -296,20 +267,18 @@ ENTRY(memmove)
 		cfi_rel_offset (r8, 12)
 		cfi_rel_offset (r10, 16)
 
-	PLD(	sfi_pld	r1, #-4			)
+	PLD(	pld	[r1, #-4]		)
 	PLD(	subs	r2, r2, #96		)
-	PLD(	sfi_pld	r1, #-32		)
+	PLD(	pld	[r1, #-32]		)
 	PLD(	blt	13f			)
-	PLD(	sfi_pld	r1, #-64		)
-	PLD(	sfi_pld	r1, #-96		)
+	PLD(	pld	[r1, #-64]		)
+	PLD(	pld	[r1, #-96]		)
 
-12:	PLD(	sfi_pld	r1, #-128		)
-13:		sfi_breg r1, \
-		ldmdb   \B!, {r7, r8, r10, ip}
+12:	PLD(	pld	[r1, #-128]		)
+13:		ldmdb   r1!, {r7, r8, r10, ip}
 		mov     lr, r3, PUSH #\push
 		subs    r2, r2, #32
-		sfi_breg r1, \
-		ldmdb   \B!, {r3, r4, r5, r6}
+		ldmdb   r1!, {r3, r4, r5, r6}
 		orr     lr, lr, ip, PULL #\pull
 		mov     ip, ip, PUSH #\push
 		orr     ip, ip, r10, PULL #\pull
@@ -325,8 +294,7 @@ ENTRY(memmove)
 		orr     r5, r5, r4, PULL #\pull
 		mov     r4, r4, PUSH #\push
 		orr     r4, r4, r3, PULL #\pull
-		sfi_breg r0, \
-		stmdb   \B!, {r4 - r8, r10, ip, lr}
+		stmdb   r0!, {r4 - r8, r10, ip, lr}
 		bge	12b
 	PLD(	cmn	r2, #96			)
 	PLD(	bge	13b			)
@@ -343,12 +311,10 @@ ENTRY(memmove)
 		beq	16f
 
 15:		mov     lr, r3, PUSH #\push
-		sfi_breg r1, \
-		ldr	r3, [\B, #-4]!
+		ldr	r3, [r1, #-4]!
 		subs	ip, ip, #4
 		orr	lr, lr, r3, PULL #\pull
-		sfi_breg r0, \
-		str	lr, [\B, #-4]!
+		str	lr, [r0, #-4]!
 		bgt	15b
 	CALGN(	cmp	r2, #0			)
 	CALGN(	bge	11b			)
diff --git a/sysdeps/arm/memset.S b/sysdeps/arm/memset.S
index d369c20..9594636 100644
--- a/sysdeps/arm/memset.S
+++ b/sysdeps/arm/memset.S
@@ -32,8 +32,7 @@ ENTRY(memset)
 
 1:
 	tst	r3, #3		@ aligned yet?
-	sfi_breg r3, \
-	strbne	r1, [\B], #1
+	strbne	r1, [r3], #1
 	subne	r2, r2, #1
 	bne	1b
 
@@ -44,33 +43,25 @@ ENTRY(memset)
 
 1:
 	subs	r2, r2, #8
-	sfi_breg r3, \
-	stmiacs	\B!, {r1, ip}	@ store up to 32 bytes per loop iteration
+	stmiacs	r3!, {r1, ip}	@ store up to 32 bytes per loop iteration
 	subscs	r2, r2, #8
-	sfi_breg r3, \
-	stmiacs	\B!, {r1, ip}
+	stmiacs	r3!, {r1, ip}
 	subscs	r2, r2, #8
-	sfi_breg r3, \
-	stmiacs	\B!, {r1, ip}
+	stmiacs	r3!, {r1, ip}
 	subscs	r2, r2, #8
-	sfi_breg r3, \
-	stmiacs	\B!, {r1, ip}
+	stmiacs	r3!, {r1, ip}
 	bcs	1b
 
 	and	r2, r2, #7
 2:
 	subs	r2, r2, #1	@ store up to 4 bytes per loop iteration
-	sfi_breg r3, \
-	strbcs	r1, [\B], #1
+	strbcs	r1, [r3], #1
 	subscs	r2, r2, #1
-	sfi_breg r3, \
-	strbcs	r1, [\B], #1
+	strbcs	r1, [r3], #1
 	subscs	r2, r2, #1
-	sfi_breg r3, \
-	strbcs	r1, [\B], #1
+	strbcs	r1, [r3], #1
 	subscs	r2, r2, #1
-	sfi_breg r3, \
-	strbcs	r1, [\B], #1
+	strbcs	r1, [r3], #1
 	bcs	2b
 
 	DO_RET(lr)
diff --git a/sysdeps/arm/setjmp.S b/sysdeps/arm/setjmp.S
index c809253..2235890 100644
--- a/sysdeps/arm/setjmp.S
+++ b/sysdeps/arm/setjmp.S
@@ -36,20 +36,15 @@ ENTRY (__sigsetjmp)
 #ifdef PTR_MANGLE
 	mov	a4, sp
 	PTR_MANGLE2 (a4, a4, a3)
-	sfi_breg ip, \
-	str	a4, [\B], #4
+	str	a4, [ip], #4
 	PTR_MANGLE2 (a4, lr, a3)
-	sfi_breg ip, \
-	str	a4, [\B], #4
+	str	a4, [ip], #4
 #else
-	sfi_breg ip, \
-	str	sp, [\B], #4
-	sfi_breg ip, \
-	str	lr, [\B], #4
+	str	sp, [ip], #4
+	str	lr, [ip], #4
 #endif
 	/* Save registers */
-	sfi_breg ip, \
-	stmia	\B!, JMP_BUF_REGLIST
+	stmia	ip!, JMP_BUF_REGLIST
 
 #if !defined ARM_ASSUME_NO_IWMMXT || defined __SOFTFP__
 # define NEED_HWCAP 1
@@ -80,8 +75,7 @@ ENTRY (__sigsetjmp)
 	   Don't use VFP instructions directly because this code
 	   is used in non-VFP multilibs.  */
 	/* Following instruction is vstmia ip!, {d8-d15}.  */
-	sfi_breg ip, \
-	stc	p11, cr8, [\B], #64
+	stc	p11, cr8, [ip], #64
 .Lno_vfp:
 
 #ifndef ARM_ASSUME_NO_IWMMXT
@@ -90,18 +84,12 @@ ENTRY (__sigsetjmp)
 
 	/* Save the call-preserved iWMMXt registers.  */
 	/* Following instructions are wstrd wr10, [ip], #8 (etc.)  */
-	sfi_breg r12, \
-	stcl	p1, cr10, [\B], #8
-	sfi_breg r12, \
-	stcl	p1, cr11, [\B], #8
-	sfi_breg r12, \
-	stcl	p1, cr12, [\B], #8
-	sfi_breg r12, \
-	stcl	p1, cr13, [\B], #8
-	sfi_breg r12, \
-	stcl	p1, cr14, [\B], #8
-	sfi_breg r12, \
-	stcl	p1, cr15, [\B], #8
+	stcl	p1, cr10, [r12], #8
+	stcl	p1, cr11, [r12], #8
+	stcl	p1, cr12, [r12], #8
+	stcl	p1, cr13, [r12], #8
+	stcl	p1, cr14, [r12], #8
+	stcl	p1, cr15, [r12], #8
 .Lno_iwmmxt:
 #endif
 
diff --git a/sysdeps/arm/strlen.S b/sysdeps/arm/strlen.S
index 009142b..fb1589b 100644
--- a/sysdeps/arm/strlen.S
+++ b/sysdeps/arm/strlen.S
@@ -30,8 +30,7 @@
 
 ENTRY(strlen)
 	bic     r1, r0, $3              @ addr of word containing first byte
-	sfi_breg r1, \
-	ldr     r2, [\B], $4            @ get the first word
+	ldr     r2, [r1], $4            @ get the first word
 	ands    r3, r0, $3              @ how many bytes are duff?
 	rsb     r0, r3, $0              @ get - that number into counter.
 	beq     Laligned                @ skip into main check routine if no
@@ -55,8 +54,7 @@ Laligned:				@ here, we have a word in r2.  Does it
 	tstne   r2, $0x00ff0000         @
 	tstne   r2, $0xff000000         @
 	addne   r0, r0, $4              @ if not, the string is 4 bytes longer
-	sfi_breg r1, \
-	ldrne   r2, [\B], $4            @ and we continue to the next word
+	ldrne   r2, [r1], $4            @ and we continue to the next word
 	bne     Laligned                @
 Llastword:				@ drop through to here once we find a
 #ifdef __ARMEB__
diff --git a/sysdeps/arm/submul_1.S b/sysdeps/arm/submul_1.S
index 34606dd..24d39d9 100644
--- a/sysdeps/arm/submul_1.S
+++ b/sysdeps/arm/submul_1.S
@@ -37,24 +37,19 @@ ENTRY (__mpn_submul_1)
 	cfi_rel_offset (r6, 8)
 	cfi_rel_offset (r7, 12)
 
-	sfi_breg r1, \
-	ldr	r6, [\B], #4
-	sfi_breg r0, \
-	ldr	r7, [\B]
+	ldr	r6, [r1], #4
+	ldr	r7, [r0]
 	mov	r4, #0			/* init carry in */
 	b	1f
 0:
-	sfi_breg r1, \
-	ldr	r6, [\B], #4		/* load next ul */
+	ldr	r6, [r1], #4		/* load next ul */
 	adds	r5, r5, r4		/* (lpl, c) = lpl + cl */
 	adc	r4, ip, #0		/* cl = hpl + c */
 	subs	r5, r7, r5		/* (lpl, !c) = rl - lpl */
-	sfi_breg r0, \
-	ldr	r7, [\B, #4]		/* load next rl */
+	ldr	r7, [r0, #4]		/* load next rl */
 	it	cc
 	addcc	r4, r4, #1		/* cl += !c */
-	sfi_breg r0, \
-	str	r5, [\B], #4
+	str	r5, [r0], #4
 1:
 	umull	r5, ip, r6, r3		/* (hpl, lpl) = ul * vl */
 	subs	r2, r2, #1
@@ -63,8 +58,7 @@ ENTRY (__mpn_submul_1)
 	adds	r5, r5, r4		/* (lpl, c) = lpl + cl */
 	adc	r4, ip, #0		/* cl = hpl + c */
 	subs	r5, r7, r5		/* (lpl, !c) = rl - lpl */
-	sfi_breg r0, \
-	str	r5, [\B], #4
+	str	r5, [r0], #4
 	it	cc
 	addcc	r4, r4, #1		/* cl += !c */
 	mov	r0, r4			/* return carry */
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h
index 990e636..6d60c34 100644
--- a/sysdeps/arm/sysdep.h
+++ b/sysdeps/arm/sysdep.h
@@ -150,7 +150,6 @@
    second version uses it.  */
 # define LDST_INDEXED_NOINDEX(OP, R, T, X, Y)		\
 	add	T, X, Y;				\
-	sfi_breg T,					\
 	OP	R, [T]
 # define LDST_INDEXED_INDEX(OP, R, X, Y)		\
 	OP	R, [X, Y]
@@ -198,7 +197,7 @@
 #  define LDR_GLOBAL(R, T, SYMBOL, CONSTANT)				\
 	movw	T, #:lower16:SYMBOL;					\
 	movt	T, #:upper16:SYMBOL;					\
-	sfi_breg T, ldr R, [\B, $CONSTANT]
+	ldr	R, [T, $CONSTANT]
 # elif defined (ARCH_HAS_T2) && defined (PIC) && ARM_PCREL_MOVW_OK
 #  define LDR_GLOBAL(R, T, SYMBOL, CONSTANT)				\
 	movw	R, #:lower16:_GLOBAL_OFFSET_TABLE_ - 97f - PC_OFS;	\
@@ -212,7 +211,7 @@
 97:	add	R, R, pc;						\
 98:	LDST_PC_INDEXED (ldr, T, T, T);					\
 	LDST_INDEXED (ldr, R, T, R, T);					\
-	sfi_breg R, ldr	R, [\B, $CONSTANT]
+	ldr	R, [R, $CONSTANT]
 # else
 #  define LDR_GLOBAL(R, T, SYMBOL, CONSTANT)		\
 	ldr	T, 99f;					\
@@ -277,53 +276,6 @@
 	cfi_restore_state
 # endif /* ARCH_HAS_HARD_TP */
 
-# ifndef ARM_SFI_MACROS
-# define ARM_SFI_MACROS 1
-/* This assembly macro is prepended to any load/store instruction,
-   pulling the base register out of the addressing mode syntax and
-   making it the first operand of the macro.  For example:
-	ldr r0, [r1]
-   becomes:
-	sfi_breg r1, ldr r0, [\B]
-   The \B stands in for the base register that is the first operand
-   to the macro, so we can avoid error-prone repetition of the base
-   register in two places on the line.
-
-   This is used for all memory access through a base register other
-   than PC or SP.  It's intended to support SFI schemes such as
-   Native Client, where the OS will enforce that all load/store
-   instructions use a special form.  In any such configuration,
-   another sysdep.h file will have defined ARM_SFI_MACROS and
-   provided its own assembly macros with the same interface.  */
-
-        .macro sfi_breg basereg, insn, operands:vararg
-                .macro _sfi_breg_doit B
-                \insn \operands
-                .endm
-                _sfi_breg_doit \basereg
-                .purgem _sfi_breg_doit
-        .endm
-
-/* This assembly macro replaces the "pld" instruction.
-   The syntax:
-	sfi_pld REGISTER, #OFFSET
-   is exactly equivalent to:
-	sfi_breg REGISTER, pld [\B, #OFFSET]
-   (and ", #OFFSET" is optional).  We have a separate macro
-   only to work around a bug in GAS versions prior to 2.23.2,
-   that misparses the sfi_breg macro expansion in this case.  */
-
-	.macro sfi_pld basereg, offset=#0
-		pld [\basereg, \offset]
-	.endm
-
-/* This macro precedes any instruction that directly changes the SP.
-   It's not needed for push/pop or for any kind of load or store that
-   implicitly changes the SP via the ! syntax.  */
-# define sfi_sp	/* Nothing to do.  */
-
-# endif
-
 /* These are the directives used for EABI unwind info.
    Wrap them in macros so another configuration's sysdep.h
    file can define them away if it doesn't use EABI unwind info.  */

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=42a844c6a213f9219a4baa013c7305679d5dcaaa

commit 42a844c6a213f9219a4baa013c7305679d5dcaaa
Author: Zack Weinberg <zackw@panix.com>
Date:   Thu May 11 20:28:07 2017 -0400

    Remove the bulk of the NaCl port.
    
    The NaCl port has not been actively maintained since before the 2.25
    release.  The complementary GCC back-end was never contributed to GCC,
    and we are given to understand that the current NaCl SDK has switched
    to Clang and therefore cannot be used to build glibc anymore, so we
    doubt that the port remains useful.
    
    This commit simply removes the sysdeps/arm/nacl and sysdeps/nacl
    directories and the abi-tags entry.
    
    	Remove the NaCl port.
    	* abi-tags: Remove .*-.*-nacl.* entry.
    	* sysdeps/arm/nacl: Remove directory and contents.
    	* sysdeps/nacl: Likewise.

diff --git a/ChangeLog b/ChangeLog
index d9e77c4..704968e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-05-20  Zack Weinberg  <zackw@panix.com>
+
+	Remove the NaCl port.
+	* sysdeps/arm/nacl: Remove directory and contents.
+	* sysdeps/nacl: Remove directory and contents.
+	* abi-tags: Remove .*-.*-nacl.* entry.
+
 2017-05-19  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/errno.texi: Convert @comment-based errno documentation to
diff --git a/NEWS b/NEWS
index 09c302b..b4ecd62 100644
--- a/NEWS
+++ b/NEWS
@@ -63,6 +63,9 @@ Version 2.26
 
 * The obsolete <sys/ultrasound.h> header file has been removed.
 
+* The port to Native Client running on ARMv7-A (--host=arm-nacl) has been
+  removed.
+
 Security related changes:
 
 * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
diff --git a/abi-tags b/abi-tags
index 150d29b..87cd681 100644
--- a/abi-tags
+++ b/abi-tags
@@ -28,7 +28,5 @@
 
 .*-.*-syllable.*	5	2.0.0	# just an arbitrary value
 
-.*-.*-nacl.*		6	42.0.0	# earliest compatible Chromium version
-
 # There is no catch-all default here because every supported OS that uses
 # ELF must have its own unique ABI tag.
diff --git a/sysdeps/arm/nacl/Implies b/sysdeps/arm/nacl/Implies
deleted file mode 100644
index 2294208..0000000
--- a/sysdeps/arm/nacl/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-arm/nptl
-init_array
diff --git a/sysdeps/arm/nacl/Makefile b/sysdeps/arm/nacl/Makefile
deleted file mode 100644
index 66f7f8d..0000000
--- a/sysdeps/arm/nacl/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Makefile fragment for ARM/NaCl configurations.
-
-# Copyright (C) 2015-2017 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/>.
-
-# sysdeps/nacl/Makefile needs this set to the architecture suffix used in
-# the NaCl SDK.
-nacl-sdk-arch = arm
-
-# We don't really support TLSDESC, even though the compiler thinks it does.
-have-arm-tls-desc = no
-
-ifeq ($(subdir),csu)
-sysdep_routines += aeabi_read_tp
-endif
-
-ifeq ($(subdir),elf)
-sysdep-rtld-routines += aeabi_read_tp
-endif
diff --git a/sysdeps/arm/nacl/____longjmp_chk.S b/sysdeps/arm/nacl/____longjmp_chk.S
deleted file mode 100644
index a9a1649..0000000
--- a/sysdeps/arm/nacl/____longjmp_chk.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/* longjmp that validates stack addresses.  ARM/NaCl version.
-   Copyright (C) 2015-2017 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 <sysdep.h>
-
-	.section .rodata.str1.1,"aMS",%progbits,1
-	.type	longjmp_msg,%object
-longjmp_msg:
-	.string "longjmp causes uninitialized stack frame"
-	.size	longjmp_msg, .-longjmp_msg
-
-	.text
-
-/* We don't have sigaltstack and so any longjmp must be to an outer frame.  */
-.macro check_sp reg
-	cmp sp, \reg
-	bls .Lok
-#ifdef PIC
-	movw r0, #:lower16:longjmp_msg-(.LPIC0+8)
-	movt r0, #:upper16:longjmp_msg-(.LPIC0+8)
-.LPIC0:	add r0, r0, pc
-#else
-	movw r0, #:lower16:longjmp_msg
-	movt r0, #:upper16:longjmp_msg
-#endif
-	b HIDDEN_JUMPTARGET(__fortify_fail)
-.Lok:
-.endm
-
-#define CHECK_SP(reg)	check_sp reg
-#define __longjmp	____longjmp_chk
-#include <__longjmp.S>
diff --git a/sysdeps/arm/nacl/aeabi_read_tp.S b/sysdeps/arm/nacl/aeabi_read_tp.S
deleted file mode 100644
index a3e5e11..0000000
--- a/sysdeps/arm/nacl/aeabi_read_tp.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/* ARM EABI helper function for reading the thread pointer.  NaCl version.
-   Copyright (C) 2015-2017 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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 <sysdep.h>
-
-/* GCC will emit calls to this routine under -mtp=soft.  */
-
-	.hidden __aeabi_read_tp
-ENTRY (__aeabi_read_tp)
-	ldr	r0, [r9]
-	sfi_bx	lr
-END (__aeabi_read_tp)
diff --git a/sysdeps/arm/nacl/arm-features.h b/sysdeps/arm/nacl/arm-features.h
deleted file mode 100644
index 6536d14..0000000
--- a/sysdeps/arm/nacl/arm-features.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Macros to test for CPU features on ARM.  NaCl version.
-   Copyright (C) 2015-2017 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 _NACL_ARM_FEATURES_H
-#define _NACL_ARM_FEATURES_H 1
-
-#ifdef __SOFTFP__
-# error NaCl should always have VFP enabled
-#endif
-
-/* NaCl does not support iWMMXt at all.  */
-#define ARM_ASSUME_NO_IWMMXT    1
-
-/* NaCl does not allow instructions to target the pc register.  */
-#define ARM_ALWAYS_BX           1
-
-/* Computed branch targets must be bundle-aligned, which is to 16 bytes.  */
-#define ARM_BX_ALIGN_LOG2       4
-
-/* Two-register addressing modes are never allowed.  */
-#define ARM_NO_INDEX_REGISTER   1
-
-/* Only ARM mode code is allowed, never Thumb mode.  */
-#define NO_THUMB
-
-#include_next <arm-features.h>
-
-#endif  /* arm-features.h */
diff --git a/sysdeps/arm/nacl/dl-machine.h b/sysdeps/arm/nacl/dl-machine.h
deleted file mode 100644
index 4b926ed..0000000
--- a/sysdeps/arm/nacl/dl-machine.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions.  ARM/NaCl version.
-   Copyright (C) 2015-2017 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 dl_machine_h
-
-/* This is only needed for handling TEXTRELs and NaCl will never
-   support TEXTRELs at all.  */
-#define CLEAR_CACHE(start, end) __builtin_trap ()
-
-#endif
-
-/* The rest is just machine-specific.
-   This #include is outside the #ifndef because the parts of
-   dl-machine.h used only by dynamic-link.h are outside the guard.  */
-#include <sysdeps/arm/dl-machine.h>
-
-#ifdef dl_machine_h
-
-/* Initial entry point code for the dynamic linker.
-   The C function `_dl_start' is the real entry point;
-   its return value is the user program's entry point.  */
-#undef RTLD_START
-#define RTLD_START asm ("\
-.text\n\
-.globl _start\n\
-.type _start, %function\n\
-.p2align 4\n\
-_start:\n\
-	@ r0 has the pointer to the info block (see nacl_startup.h)\n\
-	mov r1, sp              @ Save stack base for __libc_stack_end.\n\
-	push {r0-r3}            @ Push those, maintaining alignment to 16.\n\
-	mov r0, sp              @ Pointer to {info, sp} is argument.\n\
-	sfi_bl _dl_start\n\
-	pop {r1-r4}             @ Restore stack, getting info block into r1.\n\
-	mov lr, #0              @ Return address for noreturn call.\n\
-	b _dl_start_user");
-
-#endif
diff --git a/sysdeps/arm/nacl/dl-trampoline.S b/sysdeps/arm/nacl/dl-trampoline.S
deleted file mode 100644
index 9486d7e..0000000
--- a/sysdeps/arm/nacl/dl-trampoline.S
+++ /dev/null
@@ -1,278 +0,0 @@
-/* PLT trampolines.  ARM/NaCl version.
-   Copyright (C) 2015-2017 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 <sysdep.h>
-
-	.syntax unified
-	.text
-
-@ Change &GOT[n+3] into 8*n.  Note relocs are 8 bytes each.
-.macro compute_reloc_arg pltgot, got2
-	sub r1, \pltgot, \got2	@ r1 = &GOT[n+3] - &GOT[2] = 4*(n-1)
-	sub r1, r1, #4		@ r1 = 4*n
-	add r1, r1, r1		@ r1 *= 2 = 8*n
-.endm
-
-	CFI_SECTIONS
-	.globl _dl_runtime_resolve
-	.type _dl_runtime_resolve, %function
-	.p2align 4
-_dl_runtime_resolve:
-	cfi_startproc
-	cfi_adjust_cfa_offset (8)
-
-	@ We get called with:
-	@ 	lr contains the return address from this call
-	@	stack[1] contains &GOT[n+3] (pointer to function)
-	@	stack[0] points to &GOT[2]
-
-	ldr ip, [sp]		@ ip gets &GOT[2]
-
-	@ Save the argument registers and the return address.
-	@ r4 doesn't need to be saved, but it makes the total
-	@ adjustment to sp (including the two words pushed by
-	@ the PLT code) an even eight words, so sp stays aligned.
-	push {r0-r4, lr}
-	cfi_adjust_cfa_offset (24)
-	cfi_rel_offset (r0, 0)
-	cfi_rel_offset (r1, 4)
-	cfi_rel_offset (r2, 8)
-	cfi_rel_offset (r3, 12)
-	cfi_rel_offset (r4, 16)
-	cfi_rel_offset (lr, 20)
-
-	ldr r1, [sp, #28]	@ r1 gets &GOT[n+3]
-
-	@ Get the 'struct link_map *' for the first argument to _dl_fixup.
-	sfi_breg ip, ldr r0, [\B, #-4]
-
-	@ Get the reloc offset for the second argument to _dl_fixup.
-	compute_reloc_arg r1, ip
-
-	@ This does the real work, and returns the real call target.
-	sfi_bl _dl_fixup
-	mov ip, r0
-
-	@ Restore the saved registers.
-	pop {r0-r4, lr}
-	cfi_adjust_cfa_offset (-24)
-	cfi_restore (r0)
-	cfi_restore (r1)
-	cfi_restore (r2)
-	cfi_restore (r3)
-	cfi_restore (r4)
-	cfi_restore (lr)
-
-	@ Now compensate for the two words pushed by the PLT code.
-	sfi_sp add sp, #8
-	cfi_adjust_cfa_offset (-8)
-
-	@ Finally, jump to the newfound call target.
-	sfi_bx ip
-
-	cfi_endproc
-	.size _dl_runtime_resolve, .-_dl_runtime_resolve
-
-#ifndef PROF
-	.globl _dl_runtime_profile
-	.type _dl_runtime_profile, #function
-	.p2align 4
-_dl_runtime_profile:
-	cfi_startproc
-	cfi_adjust_cfa_offset (8)
-
-	@ We get called with:
-	@ 	lr contains the return address from this call
-	@	stack[1] contains &GOT[n+3] (pointer to function)
-	@	stack[0] points to &GOT[2]
-
-	@ Stack layout:
-	@ sp + 204		framesize returned from pltenter
-	@ sp + 12		La_arm_regs
-	@ sp + 4		Saved two arguments to _dl_profile_fixup
-	@ sp + 0		outgoing argument to _dl_profile_fixup
-	@ For now, we only save the general purpose registers.
-# define PLTEXIT_ARGS		4
-# define LA_ARM_REGS		(PLTEXIT_ARGS + 8)
-# define LA_ARM_REGS_SIZE	(4 * (4 + 1 + 1 + 42))
-# define PLTENTER_FRAMESIZE	(LA_ARM_REGS + LA_ARM_REGS_SIZE)
-# define FRAMESIZE		(((PLTENTER_FRAMESIZE + 4) + 15) & -16)
-
-	@ The NaCl ABI requires that sp be aligned to 16 bytes at call
-	@ sites.  Assuming that was met on entry to the PLT, sp is
-	@ now exactly 8 bytes misaligned.
-	sfi_sp sub sp, #(FRAMESIZE - 8)
-	cfi_def_cfa_offset (FRAMESIZE)
-
-	@ Store the argument registers in La_arm_regs.
-	strd r0, r1, [sp, #LA_ARM_REGS]
-	cfi_offset (r0, LA_ARM_REGS + 0)
-	cfi_offset (r1, LA_ARM_REGS + 4)
-	strd r2, r3, [sp, #(LA_ARM_REGS + 8)]
-	cfi_offset (r2, LA_ARM_REGS + 8)
-	cfi_offset (r3, LA_ARM_REGS + 12)
-
-	ldr ip, [sp, #(FRAMESIZE - 8)]		@ ip gets &GOT[2]
-	ldr r3, [sp, #(FRAMESIZE - 4)]		@ r3 gets &GOT[n+3]
-
-	@ Recover the incoming sp and lr and save those in La_arm_regs.
-	add r0, sp, #FRAMESIZE
-	mov r1, lr
-	strd r0, r1, [sp, #(LA_ARM_REGS + 16)]
-	cfi_offset (sp, LA_ARM_REGS + 16)
-	cfi_offset (lr, LA_ARM_REGS + 20)
-
-	@ Get the 'struct link_map *' for the first arg to _dl_profile_fixup.
-	sfi_breg ip, ldr r0, [\B, #-4]
-
-	@ Get the reloc offset for the second argument to _dl_profile_fixup.
-	compute_reloc_arg r3, ip
-
-	@ The third argument is the original return address, still in lr.
-	mov r2, lr
-
-	@ Compute the fourth argument, the La_arm_regs pointer.
-	add r3, sp, #PLTEXIT_ARGS
-
-	@ Compute the fifth argument, the address of the 'framesize'
-	@ out parameter, and store it at the top of the stack.
-	add ip, sp, #PLTENTER_FRAMESIZE
-	str ip, [sp]
-
-	@ Save away the first two arguments, which we will need
-	@ again for _dl_call_pltexit, below.
-	strd r0, r1, [sp, #PLTEXIT_ARGS]
-
-	@ This does the real work, and returns the real call target.
-	sfi_bl _dl_profile_fixup
-
-	@ The address to call is now in r0.
-
-	@ Check whether we're wrapping this function,
-	@ i.e. if the framesize out parameter is >= 0.
-	ldr	ip, [sp, #PLTENTER_FRAMESIZE]
-	cmp	ip, #0
-	bge	1f
-	cfi_remember_state
-
-	@ Save _dl_profile_fixup's return value: the real call target.
-	mov ip, r0
-
-	@ Restore the registers from the La_arm_regs (perhaps as modified
-	@ by audit modules' pltenter functions).
-	add r1, sp, #LA_ARM_REGS
-	sfi_sp sfi_breg r1, ldmia \B, {r0-r3, sp, lr}
-	cfi_def_cfa_offset (0)
-	cfi_restore (r0)
-	cfi_restore (r1)
-	cfi_restore (r2)
-	cfi_restore (r3)
-	cfi_restore (sp)
-	cfi_restore (lr)
-
-	@ Finally, jump to the newfound call target.
-	sfi_bx ip
-
-1:	cfi_restore_state
-	@ The new frame size is in ip.
-
-	@ Save the fp in the stack slot previously used for the fifth
-	@ argument to _dl_profile_fixup.
-	str fp, [sp]
-	cfi_offset (fp, 0)
-
-	@ Save the result of _dl_profile_fixup, the real call target.
-	@ We'll reuse the stack slot just used for the 'framesize'
-	@ out parameter to _dl_profile_fixup.
-	str r0, [sp, #PLTENTER_FRAMESIZE]
-
-	@ Stack layout:
-	@ fp + 264		call target
-	@ fp + 72		La_arm_regs
-	@ fp + 68		Saved two arguments to _dl_profile_fixup
-	@ fp + 64		saved fp
-	@ fp + 0		La_arm_retval
-	@ sp..fp		copied incoming stack space (plus alignment)
-	@ For now, we only save the general purpose registers.
-# define FP_LA_ARM_RETVAL	0
-# define LA_ARM_RETVAL_SIZE	(4 * (4 + 12))
-# define FP_SAVED_FP		LA_ARM_RETVAL_SIZE
-# define FP_PLTEXIT_ARGS	(FP_SAVED_FP + 4)
-# define FP_LA_ARM_REGS		(FP_PLTEXIT_ARGS + 8)
-# define FP_CALL_TARGET		(FP_LA_ARM_REGS + LA_ARM_REGS_SIZE)
-# define FP_FRAMESIZE		(FP_CALL_TARGET + 4)
-
-	sub fp, sp, #(FP_FRAMESIZE - FRAMESIZE)
-	cfi_def_cfa (fp, FP_FRAMESIZE)
-
-	sub r1, fp, ip
-	@ This doesn't need sfi_sp because we just include the
-	@ sandboxing mask along with the alignment mask.
-	bic sp, r1, #0xc000000f
-
-	@ Copy the stack arguments.  The audit modules' pltenter
-	@ function(s) decided how much needs to be copied.
-	@ Load the sp as modified by pltenter functions, rather
-	@ than what we think the incoming sp was (fp + FP_FRAMESIZE).
-	sfi_breg fp, ldr r1, [\B, #(FP_LA_ARM_REGS + 16)]
-	mov r0, sp
-	mov r2, ip
-	sfi_bl memcpy
-
-	@ Load up the arguments from La_arm_regs and call the user's function.
-	sfi_breg fp, ldr ip, [\B, #FP_CALL_TARGET]
-	sfi_breg fp, ldrd r0, r1, [\B, #FP_LA_ARM_REGS]
-	sfi_breg fp, ldrd r2, r3, [\B, #(FP_LA_ARM_REGS + 8)]
-	sfi_blx ip
-
-	@ Stash the return value registers in La_arm_retval.
-	sfi_breg fp, strd r0, r1, [\B, #FP_LA_ARM_RETVAL]
-	sfi_breg fp, strd r2, r3, [\B, #(FP_LA_ARM_RETVAL + 8)]
-
-	@ Call pltexit.  We saved the first two arguments earlier--they
-	@ are the same ones passed to _dl_profile_fixup.  The latter two
-	@ arguments are La_arm_regs and La_arm_retval blocks, respectively.
-	sfi_breg fp, ldrd r0, r1, [\B, #FP_PLTEXIT_ARGS]
-	add r2, fp, #FP_LA_ARM_REGS
-	add r3, fp, #FP_LA_ARM_RETVAL
-	sfi_bl _dl_call_pltexit
-
-	@ Reload the saved return value registers for the caller.
-	sfi_breg fp, ldrd r0, r1, [\B, #FP_LA_ARM_RETVAL]
-	sfi_breg fp, ldrd r2, r3, [\B, #(FP_LA_ARM_RETVAL + 8)]
-
-	@ Unwind the frame.
-	sfi_sp mov sp, fp
-	cfi_def_cfa_register (sp)
-	ldr fp, [sp, #FP_SAVED_FP]
-	cfi_restore (fp)
-	@ Reload the lr and sp values from La_arm_regs, where they
-	@ might have been modified by pltenter functions, rather than
-	@ computing what we think the incoming value was.
-	ldr lr, [sp, #(FP_LA_ARM_REGS + 20)]
-	cfi_restore (lr)
-	sfi_sp ldr sp, [sp, #(FP_LA_ARM_REGS + 16)]
-	cfi_def_cfa_offset (0)
-
-	@ Finally, return to the caller.
-	sfi_bx lr
-
-	cfi_endproc
-	.size _dl_runtime_profile, .-_dl_runtime_profile
-#endif
-	.previous
diff --git a/sysdeps/arm/nacl/include/bits/setjmp.h b/sysdeps/arm/nacl/include/bits/setjmp.h
deleted file mode 100644
index 545341b..0000000
--- a/sysdeps/arm/nacl/include/bits/setjmp.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Private jmp_buf-related definitions.  NaCl/ARM version.
-   Copyright (C) 2015-2017 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 _INCLUDE_BITS_SETJMP_H
-#define _INCLUDE_BITS_SETJMP_H 1
-
-#ifndef __ASSEMBLER__
-/* Get the public declarations.  */
-# include <sysdeps/arm/bits/setjmp.h>
-#endif
-
-# ifndef _ISOMAC
-
-/* Register list for a ldm/stm instruction to load/store
-   the general registers from a __jmp_buf.
-
-   The generic ARM definition includes r9 (v6), which is not
-   permitted under NaCl.  We add r3 even though it's call-clobbered,
-   just to keep the size the same as the generic version.  */
-#define JMP_BUF_REGLIST		{r3, v1-v5, sl, fp}
-
-/* Index of __jmp_buf where the sp register resides.  */
-#define __JMP_BUF_SP		0
-
-# endif /* _ISOMAC */
-#endif  /* include/bits/setjmp.h */
diff --git a/sysdeps/arm/nacl/libc.abilist b/sysdeps/arm/nacl/libc.abilist
deleted file mode 100644
index abd70c8..0000000
--- a/sysdeps/arm/nacl/libc.abilist
+++ /dev/null
@@ -1,1855 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 _Exit F
-GLIBC_2.22 _IO_2_1_stderr_ D 0xa0
-GLIBC_2.22 _IO_2_1_stdin_ D 0xa0
-GLIBC_2.22 _IO_2_1_stdout_ D 0xa0
-GLIBC_2.22 _IO_adjust_column F
-GLIBC_2.22 _IO_adjust_wcolumn F
-GLIBC_2.22 _IO_default_doallocate F
-GLIBC_2.22 _IO_default_finish F
-GLIBC_2.22 _IO_default_pbackfail F
-GLIBC_2.22 _IO_default_uflow F
-GLIBC_2.22 _IO_default_xsgetn F
-GLIBC_2.22 _IO_default_xsputn F
-GLIBC_2.22 _IO_do_write F
-GLIBC_2.22 _IO_doallocbuf F
-GLIBC_2.22 _IO_fclose F
-GLIBC_2.22 _IO_fdopen F
-GLIBC_2.22 _IO_feof F
-GLIBC_2.22 _IO_ferror F
-GLIBC_2.22 _IO_fflush F
-GLIBC_2.22 _IO_fgetpos F
-GLIBC_2.22 _IO_fgetpos64 F
-GLIBC_2.22 _IO_fgets F
-GLIBC_2.22 _IO_file_attach F
-GLIBC_2.22 _IO_file_close F
-GLIBC_2.22 _IO_file_close_it F
-GLIBC_2.22 _IO_file_doallocate F
-GLIBC_2.22 _IO_file_finish F
-GLIBC_2.22 _IO_file_fopen F
-GLIBC_2.22 _IO_file_init F
-GLIBC_2.22 _IO_file_jumps D 0x54
-GLIBC_2.22 _IO_file_open F
-GLIBC_2.22 _IO_file_overflow F
-GLIBC_2.22 _IO_file_read F
-GLIBC_2.22 _IO_file_seek F
-GLIBC_2.22 _IO_file_seekoff F
-GLIBC_2.22 _IO_file_setbuf F
-GLIBC_2.22 _IO_file_stat F
-GLIBC_2.22 _IO_file_sync F
-GLIBC_2.22 _IO_file_underflow F
-GLIBC_2.22 _IO_file_write F
-GLIBC_2.22 _IO_file_xsputn F
-GLIBC_2.22 _IO_flockfile F
-GLIBC_2.22 _IO_flush_all F
-GLIBC_2.22 _IO_flush_all_linebuffered F
-GLIBC_2.22 _IO_fopen F
-GLIBC_2.22 _IO_fprintf F
-GLIBC_2.22 _IO_fputs F
-GLIBC_2.22 _IO_fread F
-GLIBC_2.22 _IO_free_backup_area F
-GLIBC_2.22 _IO_free_wbackup_area F
-GLIBC_2.22 _IO_fsetpos F
-GLIBC_2.22 _IO_fsetpos64 F
-GLIBC_2.22 _IO_ftell F
-GLIBC_2.22 _IO_ftrylockfile F
-GLIBC_2.22 _IO_funlockfile F
-GLIBC_2.22 _IO_fwrite F
-GLIBC_2.22 _IO_getc F
-GLIBC_2.22 _IO_getline F
-GLIBC_2.22 _IO_getline_info F
-GLIBC_2.22 _IO_gets F
-GLIBC_2.22 _IO_init F
-GLIBC_2.22 _IO_init_marker F
-GLIBC_2.22 _IO_init_wmarker F
-GLIBC_2.22 _IO_iter_begin F
-GLIBC_2.22 _IO_iter_end F
-GLIBC_2.22 _IO_iter_file F
-GLIBC_2.22 _IO_iter_next F
-GLIBC_2.22 _IO_least_wmarker F
-GLIBC_2.22 _IO_link_in F
-GLIBC_2.22 _IO_list_all D 0x4
-GLIBC_2.22 _IO_list_lock F
-GLIBC_2.22 _IO_list_resetlock F
-GLIBC_2.22 _IO_list_unlock F
-GLIBC_2.22 _IO_marker_delta F
-GLIBC_2.22 _IO_marker_difference F
-GLIBC_2.22 _IO_padn F
-GLIBC_2.22 _IO_peekc_locked F
-GLIBC_2.22 _IO_popen F
-GLIBC_2.22 _IO_printf F
-GLIBC_2.22 _IO_proc_close F
-GLIBC_2.22 _IO_proc_open F
-GLIBC_2.22 _IO_putc F
-GLIBC_2.22 _IO_puts F
-GLIBC_2.22 _IO_remove_marker F
-GLIBC_2.22 _IO_seekmark F
-GLIBC_2.22 _IO_seekoff F
-GLIBC_2.22 _IO_seekpos F
-GLIBC_2.22 _IO_seekwmark F
-GLIBC_2.22 _IO_setb F
-GLIBC_2.22 _IO_setbuffer F
-GLIBC_2.22 _IO_setvbuf F
-GLIBC_2.22 _IO_sgetn F
-GLIBC_2.22 _IO_sprintf F
-GLIBC_2.22 _IO_sputbackc F
-GLIBC_2.22 _IO_sputbackwc F
-GLIBC_2.22 _IO_sscanf F
-GLIBC_2.22 _IO_str_init_readonly F
-GLIBC_2.22 _IO_str_init_static F
-GLIBC_2.22 _IO_str_overflow F
-GLIBC_2.22 _IO_str_pbackfail F
-GLIBC_2.22 _IO_str_seekoff F
-GLIBC_2.22 _IO_str_underflow F
-GLIBC_2.22 _IO_sungetc F
-GLIBC_2.22 _IO_sungetwc F
-GLIBC_2.22 _IO_switch_to_get_mode F
-GLIBC_2.22 _IO_switch_to_main_wget_area F
-GLIBC_2.22 _IO_switch_to_wbackup_area F
-GLIBC_2.22 _IO_switch_to_wget_mode F
-GLIBC_2.22 _IO_un_link F
-GLIBC_2.22 _IO_ungetc F
-GLIBC_2.22 _IO_unsave_markers F
-GLIBC_2.22 _IO_unsave_wmarkers F
-GLIBC_2.22 _IO_vfprintf F
-GLIBC_2.22 _IO_vfscanf F
-GLIBC_2.22 _IO_vsprintf F
-GLIBC_2.22 _IO_wdefault_doallocate F
-GLIBC_2.22 _IO_wdefault_finish F
-GLIBC_2.22 _IO_wdefault_pbackfail F
-GLIBC_2.22 _IO_wdefault_uflow F
-GLIBC_2.22 _IO_wdefault_xsgetn F
-GLIBC_2.22 _IO_wdefault_xsputn F
-GLIBC_2.22 _IO_wdo_write F
-GLIBC_2.22 _IO_wdoallocbuf F
-GLIBC_2.22 _IO_wfile_jumps D 0x54
-GLIBC_2.22 _IO_wfile_overflow F
-GLIBC_2.22 _IO_wfile_seekoff F
-GLIBC_2.22 _IO_wfile_sync F
-GLIBC_2.22 _IO_wfile_underflow F
-GLIBC_2.22 _IO_wfile_xsputn F
-GLIBC_2.22 _IO_wmarker_delta F
-GLIBC_2.22 _IO_wsetb F
-GLIBC_2.22 __aeabi_MB_CUR_MAX F
-GLIBC_2.22 __aeabi_assert F
-GLIBC_2.22 __aeabi_atexit F
-GLIBC_2.22 __aeabi_errno_addr F
-GLIBC_2.22 __aeabi_localeconv F
-GLIBC_2.22 __aeabi_memclr F
-GLIBC_2.22 __aeabi_memclr4 F
-GLIBC_2.22 __aeabi_memclr8 F
-GLIBC_2.22 __aeabi_memcpy F
-GLIBC_2.22 __aeabi_memcpy4 F
-GLIBC_2.22 __aeabi_memcpy8 F
-GLIBC_2.22 __aeabi_memmove F
-GLIBC_2.22 __aeabi_memmove4 F
-GLIBC_2.22 __aeabi_memmove8 F
-GLIBC_2.22 __aeabi_memset F
-GLIBC_2.22 __aeabi_memset4 F
-GLIBC_2.22 __aeabi_memset8 F
-GLIBC_2.22 __after_morecore_hook D 0x4
-GLIBC_2.22 __argz_count F
-GLIBC_2.22 __argz_next F
-GLIBC_2.22 __argz_stringify F
-GLIBC_2.22 __asprintf F
-GLIBC_2.22 __asprintf_chk F
-GLIBC_2.22 __assert F
-GLIBC_2.22 __assert_fail F
-GLIBC_2.22 __assert_perror_fail F
-GLIBC_2.22 __backtrace F
-GLIBC_2.22 __backtrace_symbols F
-GLIBC_2.22 __backtrace_symbols_fd F
-GLIBC_2.22 __bsd_getpgrp F
-GLIBC_2.22 __bzero F
-GLIBC_2.22 __check_rhosts_file D 0x4
-GLIBC_2.22 __chk_fail F
-GLIBC_2.22 __close F
-GLIBC_2.22 __confstr_chk F
-GLIBC_2.22 __connect F
-GLIBC_2.22 __ctype_b_loc F
-GLIBC_2.22 __ctype_get_mb_cur_max F
-GLIBC_2.22 __ctype_tolower_loc F
-GLIBC_2.22 __ctype_toupper_loc F
-GLIBC_2.22 __curbrk D 0x4
-GLIBC_2.22 __cxa_at_quick_exit F
-GLIBC_2.22 __cxa_atexit F
-GLIBC_2.22 __cxa_finalize F
-GLIBC_2.22 __cxa_thread_atexit_impl F
-GLIBC_2.22 __cyg_profile_func_enter F
-GLIBC_2.22 __cyg_profile_func_exit F
-GLIBC_2.22 __daylight D 0x4
-GLIBC_2.22 __dcgettext F
-GLIBC_2.22 __default_morecore F
-GLIBC_2.22 __dgettext F
-GLIBC_2.22 __dprintf_chk F
-GLIBC_2.22 __dup2 F
-GLIBC_2.22 __duplocale F
-GLIBC_2.22 __environ D 0x4
-GLIBC_2.22 __fbufsize F
-GLIBC_2.22 __fcntl F
-GLIBC_2.22 __fdelt_chk F
-GLIBC_2.22 __fdelt_warn F
-GLIBC_2.22 __ffs F
-GLIBC_2.22 __fgets_chk F
-GLIBC_2.22 __fgets_unlocked_chk F
-GLIBC_2.22 __fgetws_chk F
-GLIBC_2.22 __fgetws_unlocked_chk F
-GLIBC_2.22 __finite F
-GLIBC_2.22 __finitef F
-GLIBC_2.22 __finitel F
-GLIBC_2.22 __flbf F
-GLIBC_2.22 __fork F
-GLIBC_2.22 __fpending F
-GLIBC_2.22 __fprintf_chk F
-GLIBC_2.22 __fpu_control D 0x4
-GLIBC_2.22 __fpurge F
-GLIBC_2.22 __fread_chk F
-GLIBC_2.22 __fread_unlocked_chk F
-GLIBC_2.22 __freadable F
-GLIBC_2.22 __freading F
-GLIBC_2.22 __free_hook D 0x4
-GLIBC_2.22 __freelocale F
-GLIBC_2.22 __fsetlocking F
-GLIBC_2.22 __fwprintf_chk F
-GLIBC_2.22 __fwritable F
-GLIBC_2.22 __fwriting F
-GLIBC_2.22 __fxstat F
-GLIBC_2.22 __fxstat64 F
-GLIBC_2.22 __fxstatat F
-GLIBC_2.22 __fxstatat64 F
-GLIBC_2.22 __getauxval F
-GLIBC_2.22 __getcwd_chk F
-GLIBC_2.22 __getdelim F
-GLIBC_2.22 __getdomainname_chk F
-GLIBC_2.22 __getgroups_chk F
-GLIBC_2.22 __gethostname_chk F
-GLIBC_2.22 __getlogin_r_chk F
-GLIBC_2.22 __getpagesize F
-GLIBC_2.22 __getpgid F
-GLIBC_2.22 __getpid F
-GLIBC_2.22 __gets_chk F
-GLIBC_2.22 __gettimeofday F
-GLIBC_2.22 __getwd_chk F
-GLIBC_2.22 __gmtime_r F
-GLIBC_2.22 __gnu_Unwind_Find_exidx F
-GLIBC_2.22 __gnu_mcount_nc F
-GLIBC_2.22 __h_errno_location F
-GLIBC_2.22 __isalnum_l F
-GLIBC_2.22 __isalpha_l F
-GLIBC_2.22 __isascii_l F
-GLIBC_2.22 __isblank_l F
-GLIBC_2.22 __iscntrl_l F
-GLIBC_2.22 __isctype F
-GLIBC_2.22 __isdigit_l F
-GLIBC_2.22 __isgraph_l F
-GLIBC_2.22 __isinf F
-GLIBC_2.22 __isinff F
-GLIBC_2.22 __isinfl F
-GLIBC_2.22 __islower_l F
-GLIBC_2.22 __isnan F
-GLIBC_2.22 __isnanf F
-GLIBC_2.22 __isnanl F
-GLIBC_2.22 __isoc99_fscanf F
-GLIBC_2.22 __isoc99_fwscanf F
-GLIBC_2.22 __isoc99_scanf F
-GLIBC_2.22 __isoc99_sscanf F
-GLIBC_2.22 __isoc99_swscanf F
-GLIBC_2.22 __isoc99_vfscanf F
-GLIBC_2.22 __isoc99_vfwscanf F
-GLIBC_2.22 __isoc99_vscanf F
-GLIBC_2.22 __isoc99_vsscanf F
-GLIBC_2.22 __isoc99_vswscanf F
-GLIBC_2.22 __isoc99_vwscanf F
-GLIBC_2.22 __isoc99_wscanf F
-GLIBC_2.22 __isprint_l F
-GLIBC_2.22 __ispunct_l F
-GLIBC_2.22 __isspace_l F
-GLIBC_2.22 __isupper_l F
-GLIBC_2.22 __iswalnum_l F
-GLIBC_2.22 __iswalpha_l F
-GLIBC_2.22 __iswblank_l F
-GLIBC_2.22 __iswcntrl_l F
-GLIBC_2.22 __iswctype F
-GLIBC_2.22 __iswctype_l F
-GLIBC_2.22 __iswdigit_l F
-GLIBC_2.22 __iswgraph_l F
-GLIBC_2.22 __iswlower_l F
-GLIBC_2.22 __iswprint_l F
-GLIBC_2.22 __iswpunct_l F
-GLIBC_2.22 __iswspace_l F
-GLIBC_2.22 __iswupper_l F
-GLIBC_2.22 __iswxdigit_l F
-GLIBC_2.22 __isxdigit_l F
-GLIBC_2.22 __ivaliduser F
-GLIBC_2.22 __libc_allocate_rtsig F
-GLIBC_2.22 __libc_calloc F
-GLIBC_2.22 __libc_current_sigrtmax F
-GLIBC_2.22 __libc_current_sigrtmin F
-GLIBC_2.22 __libc_free F
-GLIBC_2.22 __libc_freeres F
-GLIBC_2.22 __libc_init_first F
-GLIBC_2.22 __libc_mallinfo F
-GLIBC_2.22 __libc_malloc F
-GLIBC_2.22 __libc_mallopt F
-GLIBC_2.22 __libc_memalign F
-GLIBC_2.22 __libc_pvalloc F
-GLIBC_2.22 __libc_realloc F
-GLIBC_2.22 __libc_start_main F
-GLIBC_2.22 __libc_valloc F
-GLIBC_2.22 __longjmp_chk F
-GLIBC_2.22 __lseek F
-GLIBC_2.22 __lxstat F
-GLIBC_2.22 __lxstat64 F
-GLIBC_2.22 __malloc_hook D 0x4
-GLIBC_2.22 __malloc_initialize_hook D 0x4
-GLIBC_2.22 __mbrlen F
-GLIBC_2.22 __mbrtowc F
-GLIBC_2.22 __mbsnrtowcs_chk F
-GLIBC_2.22 __mbsrtowcs_chk F
-GLIBC_2.22 __mbstowcs_chk F
-GLIBC_2.22 __memalign_hook D 0x4
-GLIBC_2.22 __memcpy_chk F
-GLIBC_2.22 __memmove_chk F
-GLIBC_2.22 __mempcpy F
-GLIBC_2.22 __mempcpy_chk F
-GLIBC_2.22 __mempcpy_small F
-GLIBC_2.22 __memset_chk F
-GLIBC_2.22 __monstartup F
-GLIBC_2.22 __morecore D 0x4
-GLIBC_2.22 __nanosleep F
-GLIBC_2.22 __newlocale F
-GLIBC_2.22 __nl_langinfo_l F
-GLIBC_2.22 __nss_configure_lookup F
-GLIBC_2.22 __nss_database_lookup F
-GLIBC_2.22 __nss_group_lookup F
-GLIBC_2.22 __nss_hostname_digits_dots F
-GLIBC_2.22 __nss_hosts_lookup F
-GLIBC_2.22 __nss_next F
-GLIBC_2.22 __nss_passwd_lookup F
-GLIBC_2.22 __obstack_printf_chk F
-GLIBC_2.22 __obstack_vprintf_chk F
-GLIBC_2.22 __open F
-GLIBC_2.22 __open64 F
-GLIBC_2.22 __open64_2 F
-GLIBC_2.22 __open_2 F
-GLIBC_2.22 __openat64_2 F
-GLIBC_2.22 __openat_2 F
-GLIBC_2.22 __overflow F
-GLIBC_2.22 __pipe F
-GLIBC_2.22 __poll F
-GLIBC_2.22 __poll_chk F
-GLIBC_2.22 __posix_getopt F
-GLIBC_2.22 __ppoll_chk F
-GLIBC_2.22 __pread64 F
-GLIBC_2.22 __pread64_chk F
-GLIBC_2.22 __pread_chk F
-GLIBC_2.22 __printf_chk F
-GLIBC_2.22 __printf_fp F
-GLIBC_2.22 __profile_frequency F
-GLIBC_2.22 __progname D 0x4
-GLIBC_2.22 __progname_full D 0x4
-GLIBC_2.22 __ptsname_r_chk F
-GLIBC_2.22 __pwrite64 F
-GLIBC_2.22 __rawmemchr F
-GLIBC_2.22 __rcmd_errstr D 0x4
-GLIBC_2.22 __read F
-GLIBC_2.22 __read_chk F
-GLIBC_2.22 __readlink_chk F
-GLIBC_2.22 __readlinkat_chk F
-GLIBC_2.22 __realloc_hook D 0x4
-GLIBC_2.22 __realpath_chk F
-GLIBC_2.22 __recv_chk F
-GLIBC_2.22 __recvfrom_chk F
-GLIBC_2.22 __register_atfork F
-GLIBC_2.22 __res_init F
-GLIBC_2.22 __res_nclose F
-GLIBC_2.22 __res_ninit F
-GLIBC_2.22 __res_randomid F
-GLIBC_2.22 __res_state F
-GLIBC_2.22 __sbrk F
-GLIBC_2.22 __sched_cpualloc F
-GLIBC_2.22 __sched_cpucount F
-GLIBC_2.22 __sched_cpufree F
-GLIBC_2.22 __sched_get_priority_max F
-GLIBC_2.22 __sched_get_priority_min F
-GLIBC_2.22 __sched_getparam F
-GLIBC_2.22 __sched_getscheduler F
-GLIBC_2.22 __sched_setscheduler F
-GLIBC_2.22 __sched_yield F
-GLIBC_2.22 __select F
-GLIBC_2.22 __send F
-GLIBC_2.22 __setpgid F
-GLIBC_2.22 __sigaction F
-GLIBC_2.22 __sigaddset F
-GLIBC_2.22 __sigdelset F
-GLIBC_2.22 __sigismember F
-GLIBC_2.22 __signbit F
-GLIBC_2.22 __signbitf F
-GLIBC_2.22 __sigpause F
-GLIBC_2.22 __sigsetjmp F
-GLIBC_2.22 __sigsuspend F
-GLIBC_2.22 __snprintf_chk F
-GLIBC_2.22 __sprintf_chk F
-GLIBC_2.22 __stack_chk_fail F
-GLIBC_2.22 __stpcpy F
-GLIBC_2.22 __stpcpy_chk F
-GLIBC_2.22 __stpcpy_small F
-GLIBC_2.22 __stpncpy F
-GLIBC_2.22 __stpncpy_chk F
-GLIBC_2.22 __strcasecmp F
-GLIBC_2.22 __strcasecmp_l F
-GLIBC_2.22 __strcasestr F
-GLIBC_2.22 __strcat_chk F
-GLIBC_2.22 __strcoll_l F
-GLIBC_2.22 __strcpy_chk F
-GLIBC_2.22 __strcpy_small F
-GLIBC_2.22 __strcspn_c1 F
-GLIBC_2.22 __strcspn_c2 F
-GLIBC_2.22 __strcspn_c3 F
-GLIBC_2.22 __strdup F
-GLIBC_2.22 __strerror_r F
-GLIBC_2.22 __strfmon_l F
-GLIBC_2.22 __strftime_l F
-GLIBC_2.22 __strncasecmp_l F
-GLIBC_2.22 __strncat_chk F
-GLIBC_2.22 __strncpy_chk F
-GLIBC_2.22 __strndup F
-GLIBC_2.22 __strpbrk_c2 F
-GLIBC_2.22 __strpbrk_c3 F
-GLIBC_2.22 __strsep_1c F
-GLIBC_2.22 __strsep_2c F
-GLIBC_2.22 __strsep_3c F
-GLIBC_2.22 __strsep_g F
-GLIBC_2.22 __strspn_c1 F
-GLIBC_2.22 __strspn_c2 F
-GLIBC_2.22 __strspn_c3 F
-GLIBC_2.22 __strtod_internal F
-GLIBC_2.22 __strtod_l F
-GLIBC_2.22 __strtof_internal F
-GLIBC_2.22 __strtof_l F
-GLIBC_2.22 __strtok_r F
-GLIBC_2.22 __strtok_r_1c F
-GLIBC_2.22 __strtol_internal F
-GLIBC_2.22 __strtol_l F
-GLIBC_2.22 __strtold_internal F
-GLIBC_2.22 __strtold_l F
-GLIBC_2.22 __strtoll_internal F
-GLIBC_2.22 __strtoll_l F
-GLIBC_2.22 __strtoul_internal F
-GLIBC_2.22 __strtoul_l F
-GLIBC_2.22 __strtoull_internal F
-GLIBC_2.22 __strtoull_l F
-GLIBC_2.22 __strverscmp F
-GLIBC_2.22 __strxfrm_l F
-GLIBC_2.22 __swprintf_chk F
-GLIBC_2.22 __sysconf F
-GLIBC_2.22 __syslog_chk F
-GLIBC_2.22 __sysv_signal F
-GLIBC_2.22 __timezone D 0x4
-GLIBC_2.22 __toascii_l F
-GLIBC_2.22 __tolower_l F
-GLIBC_2.22 __toupper_l F
-GLIBC_2.22 __towctrans F
-GLIBC_2.22 __towctrans_l F
-GLIBC_2.22 __towlower_l F
-GLIBC_2.22 __towupper_l F
-GLIBC_2.22 __ttyname_r_chk F
-GLIBC_2.22 __tzname D 0x8
-GLIBC_2.22 __uflow F
-GLIBC_2.22 __underflow F
-GLIBC_2.22 __uselocale F
-GLIBC_2.22 __vasprintf_chk F
-GLIBC_2.22 __vdprintf_chk F
-GLIBC_2.22 __vfork F
-GLIBC_2.22 __vfprintf_chk F
-GLIBC_2.22 __vfscanf F
-GLIBC_2.22 __vfwprintf_chk F
-GLIBC_2.22 __vprintf_chk F
-GLIBC_2.22 __vsnprintf F
-GLIBC_2.22 __vsnprintf_chk F
-GLIBC_2.22 __vsprintf_chk F
-GLIBC_2.22 __vsscanf F
-GLIBC_2.22 __vswprintf_chk F
-GLIBC_2.22 __vsyslog_chk F
-GLIBC_2.22 __vwprintf_chk F
-GLIBC_2.22 __wait F
-GLIBC_2.22 __waitpid F
-GLIBC_2.22 __wcpcpy_chk F
-GLIBC_2.22 __wcpncpy_chk F
-GLIBC_2.22 __wcrtomb_chk F
-GLIBC_2.22 __wcscasecmp_l F
-GLIBC_2.22 __wcscat_chk F
-GLIBC_2.22 __wcscoll_l F
-GLIBC_2.22 __wcscpy_chk F
-GLIBC_2.22 __wcsftime_l F
-GLIBC_2.22 __wcsncasecmp_l F
-GLIBC_2.22 __wcsncat_chk F
-GLIBC_2.22 __wcsncpy_chk F
-GLIBC_2.22 __wcsnrtombs_chk F
-GLIBC_2.22 __wcsrtombs_chk F
-GLIBC_2.22 __wcstod_internal F
-GLIBC_2.22 __wcstod_l F
-GLIBC_2.22 __wcstof_internal F
-GLIBC_2.22 __wcstof_l F
-GLIBC_2.22 __wcstol_internal F
-GLIBC_2.22 __wcstol_l F
-GLIBC_2.22 __wcstold_internal F
-GLIBC_2.22 __wcstold_l F
-GLIBC_2.22 __wcstoll_internal F
-GLIBC_2.22 __wcstoll_l F
-GLIBC_2.22 __wcstombs_chk F
-GLIBC_2.22 __wcstoul_internal F
-GLIBC_2.22 __wcstoul_l F
-GLIBC_2.22 __wcstoull_internal F
-GLIBC_2.22 __wcstoull_l F
-GLIBC_2.22 __wcsxfrm_l F
-GLIBC_2.22 __wctomb_chk F
-GLIBC_2.22 __wctrans_l F
-GLIBC_2.22 __wctype_l F
-GLIBC_2.22 __wmemcpy_chk F
-GLIBC_2.22 __wmemmove_chk F
-GLIBC_2.22 __wmempcpy_chk F
-GLIBC_2.22 __wmemset_chk F
-GLIBC_2.22 __woverflow F
-GLIBC_2.22 __wprintf_chk F
-GLIBC_2.22 __write F
-GLIBC_2.22 __wuflow F
-GLIBC_2.22 __wunderflow F
-GLIBC_2.22 __xmknod F
-GLIBC_2.22 __xmknodat F
-GLIBC_2.22 __xpg_basename F
-GLIBC_2.22 __xpg_sigpause F
-GLIBC_2.22 __xpg_strerror_r F
-GLIBC_2.22 __xstat F
-GLIBC_2.22 __xstat64 F
-GLIBC_2.22 _dl_mcount_wrapper F
-GLIBC_2.22 _dl_mcount_wrapper_check F
-GLIBC_2.22 _environ D 0x4
-GLIBC_2.22 _exit F
-GLIBC_2.22 _flushlbf F
-GLIBC_2.22 _libc_intl_domainname D 0x5
-GLIBC_2.22 _longjmp F
-GLIBC_2.22 _mcleanup F
-GLIBC_2.22 _nl_default_dirname D 0xe
-GLIBC_2.22 _nl_domain_bindings D 0x4
-GLIBC_2.22 _nl_msg_cat_cntr D 0x4
-GLIBC_2.22 _obstack_allocated_p F
-GLIBC_2.22 _obstack_begin F
-GLIBC_2.22 _obstack_begin_1 F
-GLIBC_2.22 _obstack_free F
-GLIBC_2.22 _obstack_memory_used F
-GLIBC_2.22 _obstack_newchunk F
-GLIBC_2.22 _res D 0x200
-GLIBC_2.22 _res_hconf D 0x30
-GLIBC_2.22 _setjmp F
-GLIBC_2.22 _sys_siglist D 0x80
-GLIBC_2.22 _tolower F
-GLIBC_2.22 _toupper F
-GLIBC_2.22 a64l F
-GLIBC_2.22 abort F
-GLIBC_2.22 abs F
-GLIBC_2.22 accept F
-GLIBC_2.22 accept4 F
-GLIBC_2.22 access F
-GLIBC_2.22 acct F
-GLIBC_2.22 addmntent F
-GLIBC_2.22 addseverity F
-GLIBC_2.22 adjtime F
-GLIBC_2.22 advance F
-GLIBC_2.22 alarm F
-GLIBC_2.22 aligned_alloc F
-GLIBC_2.22 alphasort F
-GLIBC_2.22 alphasort64 F
-GLIBC_2.22 argp_err_exit_status D 0x4
-GLIBC_2.22 argp_error F
-GLIBC_2.22 argp_failure F
-GLIBC_2.22 argp_help F
-GLIBC_2.22 argp_parse F
-GLIBC_2.22 argp_program_bug_address D 0x4
-GLIBC_2.22 argp_program_version D 0x4
-GLIBC_2.22 argp_program_version_hook D 0x4
-GLIBC_2.22 argp_state_help F
-GLIBC_2.22 argp_usage F
-GLIBC_2.22 argz_add F
-GLIBC_2.22 argz_add_sep F
-GLIBC_2.22 argz_append F
-GLIBC_2.22 argz_count F
-GLIBC_2.22 argz_create F
-GLIBC_2.22 argz_create_sep F
-GLIBC_2.22 argz_delete F
-GLIBC_2.22 argz_extract F
-GLIBC_2.22 argz_insert F
-GLIBC_2.22 argz_next F
-GLIBC_2.22 argz_replace F
-GLIBC_2.22 argz_stringify F
-GLIBC_2.22 asctime F
-GLIBC_2.22 asctime_r F
-GLIBC_2.22 asprintf F
-GLIBC_2.22 atof F
-GLIBC_2.22 atoi F
-GLIBC_2.22 atol F
-GLIBC_2.22 atoll F
-GLIBC_2.22 backtrace F
-GLIBC_2.22 backtrace_symbols F
-GLIBC_2.22 backtrace_symbols_fd F
-GLIBC_2.22 basename F
-GLIBC_2.22 bcmp F
-GLIBC_2.22 bcopy F
-GLIBC_2.22 bind F
-GLIBC_2.22 bind_textdomain_codeset F
-GLIBC_2.22 bindtextdomain F
-GLIBC_2.22 brk F
-GLIBC_2.22 bsd_signal F
-GLIBC_2.22 bsearch F
-GLIBC_2.22 btowc F
-GLIBC_2.22 bzero F
-GLIBC_2.22 c16rtomb F
-GLIBC_2.22 c32rtomb F
-GLIBC_2.22 calloc F
-GLIBC_2.22 canonicalize_file_name F
-GLIBC_2.22 catclose F
-GLIBC_2.22 catgets F
-GLIBC_2.22 catopen F
-GLIBC_2.22 cfgetispeed F
-GLIBC_2.22 cfgetospeed F
-GLIBC_2.22 cfmakeraw F
-GLIBC_2.22 cfree F
-GLIBC_2.22 cfsetispeed F
-GLIBC_2.22 cfsetospeed F
-GLIBC_2.22 cfsetspeed F
-GLIBC_2.22 chdir F
-GLIBC_2.22 chflags F
-GLIBC_2.22 chmod F
-GLIBC_2.22 chown F
-GLIBC_2.22 chroot F
-GLIBC_2.22 clearenv F
-GLIBC_2.22 clearerr F
-GLIBC_2.22 clearerr_unlocked F
-GLIBC_2.22 clock F
-GLIBC_2.22 clock_getcpuclockid F
-GLIBC_2.22 clock_getres F
-GLIBC_2.22 clock_gettime F
-GLIBC_2.22 clock_nanosleep F
-GLIBC_2.22 clock_settime F
-GLIBC_2.22 close F
-GLIBC_2.22 closedir F
-GLIBC_2.22 closelog F
-GLIBC_2.22 confstr F
-GLIBC_2.22 connect F
-GLIBC_2.22 copysign F
-GLIBC_2.22 copysignf F
-GLIBC_2.22 copysignl F
-GLIBC_2.22 creat F
-GLIBC_2.22 creat64 F
-GLIBC_2.22 ctermid F
-GLIBC_2.22 ctime F
-GLIBC_2.22 ctime_r F
-GLIBC_2.22 cuserid F
-GLIBC_2.22 daemon F
-GLIBC_2.22 daylight D 0x4
-GLIBC_2.22 dcgettext F
-GLIBC_2.22 dcngettext F
-GLIBC_2.22 dgettext F
-GLIBC_2.22 difftime F
-GLIBC_2.22 dirfd F
-GLIBC_2.22 dirname F
-GLIBC_2.22 div F
-GLIBC_2.22 dl_iterate_phdr F
-GLIBC_2.22 dngettext F
-GLIBC_2.22 dprintf F
-GLIBC_2.22 drand48 F
-GLIBC_2.22 drand48_r F
-GLIBC_2.22 dup F
-GLIBC_2.22 dup2 F
-GLIBC_2.22 dup3 F
-GLIBC_2.22 duplocale F
-GLIBC_2.22 dysize F
-GLIBC_2.22 eaccess F
-GLIBC_2.22 ecvt F
-GLIBC_2.22 ecvt_r F
-GLIBC_2.22 endaliasent F
-GLIBC_2.22 endfsent F
-GLIBC_2.22 endgrent F
-GLIBC_2.22 endhostent F
-GLIBC_2.22 endmntent F
-GLIBC_2.22 endnetent F
-GLIBC_2.22 endnetgrent F
-GLIBC_2.22 endprotoent F
-GLIBC_2.22 endpwent F
-GLIBC_2.22 endservent F
-GLIBC_2.22 endsgent F
-GLIBC_2.22 endspent F
-GLIBC_2.22 endttyent F
-GLIBC_2.22 endusershell F
-GLIBC_2.22 endutent F
-GLIBC_2.22 endutxent F
-GLIBC_2.22 environ D 0x4
-GLIBC_2.22 envz_add F
-GLIBC_2.22 envz_entry F
-GLIBC_2.22 envz_get F
-GLIBC_2.22 envz_merge F
-GLIBC_2.22 envz_remove F
-GLIBC_2.22 envz_strip F
-GLIBC_2.22 erand48 F
-GLIBC_2.22 erand48_r F
-GLIBC_2.22 err F
-GLIBC_2.22 error F
-GLIBC_2.22 error_at_line F
-GLIBC_2.22 error_message_count D 0x4
-GLIBC_2.22 error_one_per_line D 0x4
-GLIBC_2.22 error_print_progname D 0x4
-GLIBC_2.22 errx F
-GLIBC_2.22 ether_aton F
-GLIBC_2.22 ether_aton_r F
-GLIBC_2.22 ether_hostton F
-GLIBC_2.22 ether_line F
-GLIBC_2.22 ether_ntoa F
-GLIBC_2.22 ether_ntoa_r F
-GLIBC_2.22 ether_ntohost F
-GLIBC_2.22 euidaccess F
-GLIBC_2.22 execl F
-GLIBC_2.22 execle F
-GLIBC_2.22 execlp F
-GLIBC_2.22 execv F
-GLIBC_2.22 execve F
-GLIBC_2.22 execvp F
-GLIBC_2.22 execvpe F
-GLIBC_2.22 exit F
-GLIBC_2.22 faccessat F
-GLIBC_2.22 fchdir F
-GLIBC_2.22 fchflags F
-GLIBC_2.22 fchmod F
-GLIBC_2.22 fchmodat F
-GLIBC_2.22 fchown F
-GLIBC_2.22 fchownat F
-GLIBC_2.22 fclose F
-GLIBC_2.22 fcloseall F
-GLIBC_2.22 fcntl F
-GLIBC_2.22 fcvt F
-GLIBC_2.22 fcvt_r F
-GLIBC_2.22 fdatasync F
-GLIBC_2.22 fdopen F
-GLIBC_2.22 fdopendir F
-GLIBC_2.22 feof F
-GLIBC_2.22 feof_unlocked F
-GLIBC_2.22 ferror F
-GLIBC_2.22 ferror_unlocked F
-GLIBC_2.22 fexecve F
-GLIBC_2.22 fflush F
-GLIBC_2.22 fflush_unlocked F
-GLIBC_2.22 ffs F
-GLIBC_2.22 ffsl F
-GLIBC_2.22 ffsll F
-GLIBC_2.22 fgetc F
-GLIBC_2.22 fgetc_unlocked F
-GLIBC_2.22 fgetgrent F
-GLIBC_2.22 fgetgrent_r F
-GLIBC_2.22 fgetpos F
-GLIBC_2.22 fgetpos64 F
-GLIBC_2.22 fgetpwent F
-GLIBC_2.22 fgetpwent_r F
-GLIBC_2.22 fgets F
-GLIBC_2.22 fgets_unlocked F
-GLIBC_2.22 fgetsgent F
-GLIBC_2.22 fgetsgent_r F
-GLIBC_2.22 fgetspent F
-GLIBC_2.22 fgetspent_r F
-GLIBC_2.22 fgetwc F
-GLIBC_2.22 fgetwc_unlocked F
-GLIBC_2.22 fgetws F
-GLIBC_2.22 fgetws_unlocked F
-GLIBC_2.22 fgetxattr F
-GLIBC_2.22 fileno F
-GLIBC_2.22 fileno_unlocked F
-GLIBC_2.22 finite F
-GLIBC_2.22 finitef F
-GLIBC_2.22 finitel F
-GLIBC_2.22 flistxattr F
-GLIBC_2.22 flock F
-GLIBC_2.22 flockfile F
-GLIBC_2.22 fmemopen F
-GLIBC_2.22 fmtmsg F
-GLIBC_2.22 fnmatch F
-GLIBC_2.22 fopen F
-GLIBC_2.22 fopen64 F
-GLIBC_2.22 fopencookie F
-GLIBC_2.22 fork F
-GLIBC_2.22 fpathconf F
-GLIBC_2.22 fprintf F
-GLIBC_2.22 fputc F
-GLIBC_2.22 fputc_unlocked F
-GLIBC_2.22 fputs F
-GLIBC_2.22 fputs_unlocked F
-GLIBC_2.22 fputwc F
-GLIBC_2.22 fputwc_unlocked F
-GLIBC_2.22 fputws F
-GLIBC_2.22 fputws_unlocked F
-GLIBC_2.22 fread F
-GLIBC_2.22 fread_unlocked F
-GLIBC_2.22 free F
-GLIBC_2.22 freeaddrinfo F
-GLIBC_2.22 freeifaddrs F
-GLIBC_2.22 freelocale F
-GLIBC_2.22 fremovexattr F
-GLIBC_2.22 freopen F
-GLIBC_2.22 freopen64 F
-GLIBC_2.22 frexp F
-GLIBC_2.22 frexpf F
-GLIBC_2.22 frexpl F
-GLIBC_2.22 fscanf F
-GLIBC_2.22 fseek F
-GLIBC_2.22 fseeko F
-GLIBC_2.22 fseeko64 F
-GLIBC_2.22 fsetpos F
-GLIBC_2.22 fsetpos64 F
-GLIBC_2.22 fsetxattr F
-GLIBC_2.22 fstatfs F
-GLIBC_2.22 fstatfs64 F
-GLIBC_2.22 fstatvfs F
-GLIBC_2.22 fstatvfs64 F
-GLIBC_2.22 fsync F
-GLIBC_2.22 ftell F
-GLIBC_2.22 ftello F
-GLIBC_2.22 ftello64 F
-GLIBC_2.22 ftime F
-GLIBC_2.22 ftok F
-GLIBC_2.22 ftruncate F
-GLIBC_2.22 ftruncate64 F
-GLIBC_2.22 ftrylockfile F
-GLIBC_2.22 fts_children F
-GLIBC_2.22 fts_close F
-GLIBC_2.22 fts_open F
-GLIBC_2.22 fts_read F
-GLIBC_2.22 fts_set F
-GLIBC_2.22 ftw F
-GLIBC_2.22 ftw64 F
-GLIBC_2.22 funlockfile F
-GLIBC_2.22 futimens F
-GLIBC_2.22 futimes F
-GLIBC_2.22 futimesat F
-GLIBC_2.22 fwide F
-GLIBC_2.22 fwprintf F
-GLIBC_2.22 fwrite F
-GLIBC_2.22 fwrite_unlocked F
-GLIBC_2.22 fwscanf F
-GLIBC_2.22 gai_strerror F
-GLIBC_2.22 gcvt F
-GLIBC_2.22 get_avphys_pages F
-GLIBC_2.22 get_current_dir_name F
-GLIBC_2.22 get_nprocs F
-GLIBC_2.22 get_nprocs_conf F
-GLIBC_2.22 get_phys_pages F
-GLIBC_2.22 getaddrinfo F
-GLIBC_2.22 getaliasbyname F
-GLIBC_2.22 getaliasbyname_r F
-GLIBC_2.22 getaliasent F
-GLIBC_2.22 getaliasent_r F
-GLIBC_2.22 getauxval F
-GLIBC_2.22 getc F
-GLIBC_2.22 getc_unlocked F
-GLIBC_2.22 getchar F
-GLIBC_2.22 getchar_unlocked F
-GLIBC_2.22 getcontext F
-GLIBC_2.22 getcwd F
-GLIBC_2.22 getdate F
-GLIBC_2.22 getdate_err D 0x4
-GLIBC_2.22 getdate_r F
-GLIBC_2.22 getdelim F
-GLIBC_2.22 getdomainname F
-GLIBC_2.22 getdtablesize F
-GLIBC_2.22 getegid F
-GLIBC_2.22 getenv F
-GLIBC_2.22 geteuid F
-GLIBC_2.22 getfsent F
-GLIBC_2.22 getfsfile F
-GLIBC_2.22 getfsspec F
-GLIBC_2.22 getgid F
-GLIBC_2.22 getgrent F
-GLIBC_2.22 getgrent_r F
-GLIBC_2.22 getgrgid F
-GLIBC_2.22 getgrgid_r F
-GLIBC_2.22 getgrnam F
-GLIBC_2.22 getgrnam_r F
-GLIBC_2.22 getgrouplist F
-GLIBC_2.22 getgroups F
-GLIBC_2.22 gethostbyaddr F
-GLIBC_2.22 gethostbyaddr_r F
-GLIBC_2.22 gethostbyname F
-GLIBC_2.22 gethostbyname2 F
-GLIBC_2.22 gethostbyname2_r F
-GLIBC_2.22 gethostbyname_r F
-GLIBC_2.22 gethostent F
-GLIBC_2.22 gethostent_r F
-GLIBC_2.22 gethostid F
-GLIBC_2.22 gethostname F
-GLIBC_2.22 getifaddrs F
-GLIBC_2.22 getipv4sourcefilter F
-GLIBC_2.22 getitimer F
-GLIBC_2.22 getline F
-GLIBC_2.22 getloadavg F
-GLIBC_2.22 getlogin F
-GLIBC_2.22 getlogin_r F
-GLIBC_2.22 getmntent F
-GLIBC_2.22 getmntent_r F
-GLIBC_2.22 getnameinfo F
-GLIBC_2.22 getnetbyaddr F
-GLIBC_2.22 getnetbyaddr_r F
-GLIBC_2.22 getnetbyname F
-GLIBC_2.22 getnetbyname_r F
-GLIBC_2.22 getnetent F
-GLIBC_2.22 getnetent_r F
-GLIBC_2.22 getnetgrent F
-GLIBC_2.22 getnetgrent_r F
-GLIBC_2.22 getopt F
-GLIBC_2.22 getopt_long F
-GLIBC_2.22 getopt_long_only F
-GLIBC_2.22 getpagesize F
-GLIBC_2.22 getpass F
-GLIBC_2.22 getpeername F
-GLIBC_2.22 getpgid F
-GLIBC_2.22 getpgrp F
-GLIBC_2.22 getpid F
-GLIBC_2.22 getppid F
-GLIBC_2.22 getpriority F
-GLIBC_2.22 getprotobyname F
-GLIBC_2.22 getprotobyname_r F
-GLIBC_2.22 getprotobynumber F
-GLIBC_2.22 getprotobynumber_r F
-GLIBC_2.22 getprotoent F
-GLIBC_2.22 getprotoent_r F
-GLIBC_2.22 getpt F
-GLIBC_2.22 getpw F
-GLIBC_2.22 getpwent F
-GLIBC_2.22 getpwent_r F
-GLIBC_2.22 getpwnam F
-GLIBC_2.22 getpwnam_r F
-GLIBC_2.22 getpwuid F
-GLIBC_2.22 getpwuid_r F
-GLIBC_2.22 getresgid F
-GLIBC_2.22 getresuid F
-GLIBC_2.22 getrlimit F
-GLIBC_2.22 getrlimit64 F
-GLIBC_2.22 getrusage F
-GLIBC_2.22 gets F
-GLIBC_2.22 getservbyname F
-GLIBC_2.22 getservbyname_r F
-GLIBC_2.22 getservbyport F
-GLIBC_2.22 getservbyport_r F
-GLIBC_2.22 getservent F
-GLIBC_2.22 getservent_r F
-GLIBC_2.22 getsgent F
-GLIBC_2.22 getsgent_r F
-GLIBC_2.22 getsgnam F
-GLIBC_2.22 getsgnam_r F
-GLIBC_2.22 getsid F
-GLIBC_2.22 getsockname F
-GLIBC_2.22 getsockopt F
-GLIBC_2.22 getsourcefilter F
-GLIBC_2.22 getspent F
-GLIBC_2.22 getspent_r F
-GLIBC_2.22 getspnam F
-GLIBC_2.22 getspnam_r F
-GLIBC_2.22 getsubopt F
-GLIBC_2.22 gettext F
-GLIBC_2.22 gettimeofday F
-GLIBC_2.22 getttyent F
-GLIBC_2.22 getttynam F
-GLIBC_2.22 getuid F
-GLIBC_2.22 getusershell F
-GLIBC_2.22 getutent F
-GLIBC_2.22 getutent_r F
-GLIBC_2.22 getutid F
-GLIBC_2.22 getutid_r F
-GLIBC_2.22 getutline F
-GLIBC_2.22 getutline_r F
-GLIBC_2.22 getutmp F
-GLIBC_2.22 getutmpx F
-GLIBC_2.22 getutxent F
-GLIBC_2.22 getutxid F
-GLIBC_2.22 getutxline F
-GLIBC_2.22 getw F
-GLIBC_2.22 getwc F
-GLIBC_2.22 getwc_unlocked F
-GLIBC_2.22 getwchar F
-GLIBC_2.22 getwchar_unlocked F
-GLIBC_2.22 getwd F
-GLIBC_2.22 getxattr F
-GLIBC_2.22 glob F
-GLIBC_2.22 glob64 F
-GLIBC_2.22 glob_pattern_p F
-GLIBC_2.22 globfree F
-GLIBC_2.22 globfree64 F
-GLIBC_2.22 gmtime F
-GLIBC_2.22 gmtime_r F
-GLIBC_2.22 gnu_get_libc_release F
-GLIBC_2.22 gnu_get_libc_version F
-GLIBC_2.22 grantpt F
-GLIBC_2.22 group_member F
-GLIBC_2.22 gsignal F
-GLIBC_2.22 gtty F
-GLIBC_2.22 h_errlist D 0x14
-GLIBC_2.22 h_nerr D 0x4
-GLIBC_2.22 hasmntopt F
-GLIBC_2.22 hcreate F
-GLIBC_2.22 hcreate_r F
-GLIBC_2.22 hdestroy F
-GLIBC_2.22 hdestroy_r F
-GLIBC_2.22 herror F
-GLIBC_2.22 hsearch F
-GLIBC_2.22 hsearch_r F
-GLIBC_2.22 hstrerror F
-GLIBC_2.22 htonl F
-GLIBC_2.22 htons F
-GLIBC_2.22 iconv F
-GLIBC_2.22 iconv_close F
-GLIBC_2.22 iconv_open F
-GLIBC_2.22 if_freenameindex F
-GLIBC_2.22 if_indextoname F
-GLIBC_2.22 if_nameindex F
-GLIBC_2.22 if_nametoindex F
-GLIBC_2.22 imaxabs F
-GLIBC_2.22 imaxdiv F
-GLIBC_2.22 in6addr_any D 0x10
-GLIBC_2.22 in6addr_loopback D 0x10
-GLIBC_2.22 index F
-GLIBC_2.22 inet6_opt_append F
-GLIBC_2.22 inet6_opt_find F
-GLIBC_2.22 inet6_opt_finish F
-GLIBC_2.22 inet6_opt_get_val F
-GLIBC_2.22 inet6_opt_init F
-GLIBC_2.22 inet6_opt_next F
-GLIBC_2.22 inet6_opt_set_val F
-GLIBC_2.22 inet6_option_alloc F
-GLIBC_2.22 inet6_option_append F
-GLIBC_2.22 inet6_option_find F
-GLIBC_2.22 inet6_option_init F
-GLIBC_2.22 inet6_option_next F
-GLIBC_2.22 inet6_option_space F
-GLIBC_2.22 inet6_rth_add F
-GLIBC_2.22 inet6_rth_getaddr F
-GLIBC_2.22 inet6_rth_init F
-GLIBC_2.22 inet6_rth_reverse F
-GLIBC_2.22 inet6_rth_segments F
-GLIBC_2.22 inet6_rth_space F
-GLIBC_2.22 inet_addr F
-GLIBC_2.22 inet_aton F
-GLIBC_2.22 inet_lnaof F
-GLIBC_2.22 inet_makeaddr F
-GLIBC_2.22 inet_netof F
-GLIBC_2.22 inet_network F
-GLIBC_2.22 inet_nsap_addr F
-GLIBC_2.22 inet_nsap_ntoa F
-GLIBC_2.22 inet_ntoa F
-GLIBC_2.22 inet_ntop F
-GLIBC_2.22 inet_pton F
-GLIBC_2.22 initgroups F
-GLIBC_2.22 initstate F
-GLIBC_2.22 initstate_r F
-GLIBC_2.22 innetgr F
-GLIBC_2.22 insque F
-GLIBC_2.22 ioctl F
-GLIBC_2.22 iruserok F
-GLIBC_2.22 iruserok_af F
-GLIBC_2.22 isalnum F
-GLIBC_2.22 isalnum_l F
-GLIBC_2.22 isalpha F
-GLIBC_2.22 isalpha_l F
-GLIBC_2.22 isascii F
-GLIBC_2.22 isatty F
-GLIBC_2.22 isblank F
-GLIBC_2.22 isblank_l F
-GLIBC_2.22 iscntrl F
-GLIBC_2.22 iscntrl_l F
-GLIBC_2.22 isctype F
-GLIBC_2.22 isdigit F
-GLIBC_2.22 isdigit_l F
-GLIBC_2.22 isfdtype F
-GLIBC_2.22 isgraph F
-GLIBC_2.22 isgraph_l F
-GLIBC_2.22 isinf F
-GLIBC_2.22 isinff F
-GLIBC_2.22 isinfl F
-GLIBC_2.22 islower F
-GLIBC_2.22 islower_l F
-GLIBC_2.22 isnan F
-GLIBC_2.22 isnanf F
-GLIBC_2.22 isnanl F
-GLIBC_2.22 isprint F
-GLIBC_2.22 isprint_l F
-GLIBC_2.22 ispunct F
-GLIBC_2.22 ispunct_l F
-GLIBC_2.22 isspace F
-GLIBC_2.22 isspace_l F
-GLIBC_2.22 isupper F
-GLIBC_2.22 isupper_l F
-GLIBC_2.22 iswalnum F
-GLIBC_2.22 iswalnum_l F
-GLIBC_2.22 iswalpha F
-GLIBC_2.22 iswalpha_l F
-GLIBC_2.22 iswblank F
-GLIBC_2.22 iswblank_l F
-GLIBC_2.22 iswcntrl F
-GLIBC_2.22 iswcntrl_l F
-GLIBC_2.22 iswctype F
-GLIBC_2.22 iswctype_l F
-GLIBC_2.22 iswdigit F
-GLIBC_2.22 iswdigit_l F
-GLIBC_2.22 iswgraph F
-GLIBC_2.22 iswgraph_l F
-GLIBC_2.22 iswlower F
-GLIBC_2.22 iswlower_l F
-GLIBC_2.22 iswprint F
-GLIBC_2.22 iswprint_l F
-GLIBC_2.22 iswpunct F
-GLIBC_2.22 iswpunct_l F
-GLIBC_2.22 iswspace F
-GLIBC_2.22 iswspace_l F
-GLIBC_2.22 iswupper F
-GLIBC_2.22 iswupper_l F
-GLIBC_2.22 iswxdigit F
-GLIBC_2.22 iswxdigit_l F
-GLIBC_2.22 isxdigit F
-GLIBC_2.22 isxdigit_l F
-GLIBC_2.22 jrand48 F
-GLIBC_2.22 jrand48_r F
-GLIBC_2.22 kill F
-GLIBC_2.22 killpg F
-GLIBC_2.22 l64a F
-GLIBC_2.22 labs F
-GLIBC_2.22 lchmod F
-GLIBC_2.22 lchown F
-GLIBC_2.22 lckpwdf F
-GLIBC_2.22 lcong48 F
-GLIBC_2.22 lcong48_r F
-GLIBC_2.22 ldexp F
-GLIBC_2.22 ldexpf F
-GLIBC_2.22 ldexpl F
-GLIBC_2.22 ldiv F
-GLIBC_2.22 lfind F
-GLIBC_2.22 lgetxattr F
-GLIBC_2.22 link F
-GLIBC_2.22 linkat F
-GLIBC_2.22 listen F
-GLIBC_2.22 listxattr F
-GLIBC_2.22 llabs F
-GLIBC_2.22 lldiv F
-GLIBC_2.22 llistxattr F
-GLIBC_2.22 loc1 D 0x4
-GLIBC_2.22 loc2 D 0x4
-GLIBC_2.22 localeconv F
-GLIBC_2.22 localtime F
-GLIBC_2.22 localtime_r F
-GLIBC_2.22 lockf F
-GLIBC_2.22 lockf64 F
-GLIBC_2.22 locs D 0x4
-GLIBC_2.22 longjmp F
-GLIBC_2.22 lrand48 F
-GLIBC_2.22 lrand48_r F
-GLIBC_2.22 lremovexattr F
-GLIBC_2.22 lsearch F
-GLIBC_2.22 lseek F
-GLIBC_2.22 lseek64 F
-GLIBC_2.22 lsetxattr F
-GLIBC_2.22 lutimes F
-GLIBC_2.22 madvise F
-GLIBC_2.22 makecontext F
-GLIBC_2.22 mallinfo F
-GLIBC_2.22 malloc F
-GLIBC_2.22 malloc_get_state F
-GLIBC_2.22 malloc_info F
-GLIBC_2.22 malloc_set_state F
-GLIBC_2.22 malloc_stats F
-GLIBC_2.22 malloc_trim F
-GLIBC_2.22 malloc_usable_size F
-GLIBC_2.22 mallopt F
-GLIBC_2.22 mallwatch D 0x4
-GLIBC_2.22 mblen F
-GLIBC_2.22 mbrlen F
-GLIBC_2.22 mbrtoc16 F
-GLIBC_2.22 mbrtoc32 F
-GLIBC_2.22 mbrtowc F
-GLIBC_2.22 mbsinit F
-GLIBC_2.22 mbsnrtowcs F
-GLIBC_2.22 mbsrtowcs F
-GLIBC_2.22 mbstowcs F
-GLIBC_2.22 mbtowc F
-GLIBC_2.22 mcheck F
-GLIBC_2.22 mcheck_check_all F
-GLIBC_2.22 mcheck_pedantic F
-GLIBC_2.22 memalign F
-GLIBC_2.22 memccpy F
-GLIBC_2.22 memchr F
-GLIBC_2.22 memcmp F
-GLIBC_2.22 memcpy F
-GLIBC_2.22 memfrob F
-GLIBC_2.22 memmem F
-GLIBC_2.22 memmove F
-GLIBC_2.22 mempcpy F
-GLIBC_2.22 memrchr F
-GLIBC_2.22 memset F
-GLIBC_2.22 mincore F
-GLIBC_2.22 mkdir F
-GLIBC_2.22 mkdirat F
-GLIBC_2.22 mkdtemp F
-GLIBC_2.22 mkfifo F
-GLIBC_2.22 mkfifoat F
-GLIBC_2.22 mkostemp F
-GLIBC_2.22 mkostemp64 F
-GLIBC_2.22 mkostemps F
-GLIBC_2.22 mkostemps64 F
-GLIBC_2.22 mkstemp F
-GLIBC_2.22 mkstemp64 F
-GLIBC_2.22 mkstemps F
-GLIBC_2.22 mkstemps64 F
-GLIBC_2.22 mktemp F
-GLIBC_2.22 mktime F
-GLIBC_2.22 mlock F
-GLIBC_2.22 mlockall F
-GLIBC_2.22 mmap F
-GLIBC_2.22 mmap64 F
-GLIBC_2.22 modf F
-GLIBC_2.22 modff F
-GLIBC_2.22 modfl F
-GLIBC_2.22 moncontrol F
-GLIBC_2.22 monstartup F
-GLIBC_2.22 mprobe F
-GLIBC_2.22 mprotect F
-GLIBC_2.22 mrand48 F
-GLIBC_2.22 mrand48_r F
-GLIBC_2.22 msgctl F
-GLIBC_2.22 msgget F
-GLIBC_2.22 msgrcv F
-GLIBC_2.22 msgsnd F
-GLIBC_2.22 msync F
-GLIBC_2.22 mtrace F
-GLIBC_2.22 munlock F
-GLIBC_2.22 munlockall F
-GLIBC_2.22 munmap F
-GLIBC_2.22 muntrace F
-GLIBC_2.22 nacl_interface_ext_supply F
-GLIBC_2.22 nacl_interface_query F
-GLIBC_2.22 nanosleep F
-GLIBC_2.22 newlocale F
-GLIBC_2.22 nftw F
-GLIBC_2.22 nftw64 F
-GLIBC_2.22 ngettext F
-GLIBC_2.22 nice F
-GLIBC_2.22 nl_langinfo F
-GLIBC_2.22 nl_langinfo_l F
-GLIBC_2.22 nrand48 F
-GLIBC_2.22 nrand48_r F
-GLIBC_2.22 ntohl F
-GLIBC_2.22 ntohs F
-GLIBC_2.22 obstack_alloc_failed_handler D 0x4
-GLIBC_2.22 obstack_exit_failure D 0x4
-GLIBC_2.22 obstack_free F
-GLIBC_2.22 obstack_printf F
-GLIBC_2.22 obstack_vprintf F
-GLIBC_2.22 on_exit F
-GLIBC_2.22 open F
-GLIBC_2.22 open64 F
-GLIBC_2.22 open_memstream F
-GLIBC_2.22 open_wmemstream F
-GLIBC_2.22 openat F
-GLIBC_2.22 openat64 F
-GLIBC_2.22 opendir F
-GLIBC_2.22 openlog F
-GLIBC_2.22 optarg D 0x4
-GLIBC_2.22 opterr D 0x4
-GLIBC_2.22 optind D 0x4
-GLIBC_2.22 optopt D 0x4
-GLIBC_2.22 parse_printf_format F
-GLIBC_2.22 pathconf F
-GLIBC_2.22 pause F
-GLIBC_2.22 pclose F
-GLIBC_2.22 perror F
-GLIBC_2.22 pipe F
-GLIBC_2.22 pipe2 F
-GLIBC_2.22 poll F
-GLIBC_2.22 popen F
-GLIBC_2.22 posix_fadvise F
-GLIBC_2.22 posix_fadvise64 F
-GLIBC_2.22 posix_fallocate F
-GLIBC_2.22 posix_fallocate64 F
-GLIBC_2.22 posix_madvise F
-GLIBC_2.22 posix_memalign F
-GLIBC_2.22 posix_openpt F
-GLIBC_2.22 posix_spawn F
-GLIBC_2.22 posix_spawn_file_actions_addclose F
-GLIBC_2.22 posix_spawn_file_actions_adddup2 F
-GLIBC_2.22 posix_spawn_file_actions_addopen F
-GLIBC_2.22 posix_spawn_file_actions_destroy F
-GLIBC_2.22 posix_spawn_file_actions_init F
-GLIBC_2.22 posix_spawnattr_destroy F
-GLIBC_2.22 posix_spawnattr_getflags F
-GLIBC_2.22 posix_spawnattr_getpgroup F
-GLIBC_2.22 posix_spawnattr_getschedparam F
-GLIBC_2.22 posix_spawnattr_getschedpolicy F
-GLIBC_2.22 posix_spawnattr_getsigdefault F
-GLIBC_2.22 posix_spawnattr_getsigmask F
-GLIBC_2.22 posix_spawnattr_init F
-GLIBC_2.22 posix_spawnattr_setflags F
-GLIBC_2.22 posix_spawnattr_setpgroup F
-GLIBC_2.22 posix_spawnattr_setschedparam F
-GLIBC_2.22 posix_spawnattr_setschedpolicy F
-GLIBC_2.22 posix_spawnattr_setsigdefault F
-GLIBC_2.22 posix_spawnattr_setsigmask F
-GLIBC_2.22 posix_spawnp F
-GLIBC_2.22 ppoll F
-GLIBC_2.22 pread F
-GLIBC_2.22 pread64 F
-GLIBC_2.22 preadv F
-GLIBC_2.22 preadv64 F
-GLIBC_2.22 printf F
-GLIBC_2.22 printf_size F
-GLIBC_2.22 printf_size_info F
-GLIBC_2.22 profil F
-GLIBC_2.22 program_invocation_name D 0x4
-GLIBC_2.22 program_invocation_short_name D 0x4
-GLIBC_2.22 pselect F
-GLIBC_2.22 psiginfo F
-GLIBC_2.22 psignal F
-GLIBC_2.22 pthread_attr_destroy F
-GLIBC_2.22 pthread_attr_getdetachstate F
-GLIBC_2.22 pthread_attr_getinheritsched F
-GLIBC_2.22 pthread_attr_getschedparam F
-GLIBC_2.22 pthread_attr_getschedpolicy F
-GLIBC_2.22 pthread_attr_getscope F
-GLIBC_2.22 pthread_attr_init F
-GLIBC_2.22 pthread_attr_setdetachstate F
-GLIBC_2.22 pthread_attr_setinheritsched F
-GLIBC_2.22 pthread_attr_setschedparam F
-GLIBC_2.22 pthread_attr_setschedpolicy F
-GLIBC_2.22 pthread_attr_setscope F
-GLIBC_2.22 pthread_cond_broadcast F
-GLIBC_2.22 pthread_cond_destroy F
-GLIBC_2.22 pthread_cond_init F
-GLIBC_2.22 pthread_cond_signal F
-GLIBC_2.22 pthread_cond_timedwait F
-GLIBC_2.22 pthread_cond_wait F
-GLIBC_2.22 pthread_condattr_destroy F
-GLIBC_2.22 pthread_condattr_init F
-GLIBC_2.22 pthread_equal F
-GLIBC_2.22 pthread_exit F
-GLIBC_2.22 pthread_getschedparam F
-GLIBC_2.22 pthread_mutex_destroy F
-GLIBC_2.22 pthread_mutex_init F
-GLIBC_2.22 pthread_mutex_lock F
-GLIBC_2.22 pthread_mutex_unlock F
-GLIBC_2.22 pthread_self F
-GLIBC_2.22 pthread_setcancelstate F
-GLIBC_2.22 pthread_setcanceltype F
-GLIBC_2.22 pthread_setschedparam F
-GLIBC_2.22 ptrace F
-GLIBC_2.22 ptsname F
-GLIBC_2.22 ptsname_r F
-GLIBC_2.22 putc F
-GLIBC_2.22 putc_unlocked F
-GLIBC_2.22 putchar F
-GLIBC_2.22 putchar_unlocked F
-GLIBC_2.22 putenv F
-GLIBC_2.22 putgrent F
-GLIBC_2.22 putpwent F
-GLIBC_2.22 puts F
-GLIBC_2.22 putsgent F
-GLIBC_2.22 putspent F
-GLIBC_2.22 pututline F
-GLIBC_2.22 pututxline F
-GLIBC_2.22 putw F
-GLIBC_2.22 putwc F
-GLIBC_2.22 putwc_unlocked F
-GLIBC_2.22 putwchar F
-GLIBC_2.22 putwchar_unlocked F
-GLIBC_2.22 pvalloc F
-GLIBC_2.22 pwrite F
-GLIBC_2.22 pwrite64 F
-GLIBC_2.22 pwritev F
-GLIBC_2.22 pwritev64 F
-GLIBC_2.22 qecvt F
-GLIBC_2.22 qecvt_r F
-GLIBC_2.22 qfcvt F
-GLIBC_2.22 qfcvt_r F
-GLIBC_2.22 qgcvt F
-GLIBC_2.22 qsort F
-GLIBC_2.22 qsort_r F
-GLIBC_2.22 quick_exit F
-GLIBC_2.22 raise F
-GLIBC_2.22 rand F
-GLIBC_2.22 rand_r F
-GLIBC_2.22 random F
-GLIBC_2.22 random_r F
-GLIBC_2.22 rawmemchr F
-GLIBC_2.22 rcmd F
-GLIBC_2.22 rcmd_af F
-GLIBC_2.22 re_comp F
-GLIBC_2.22 re_compile_fastmap F
-GLIBC_2.22 re_compile_pattern F
-GLIBC_2.22 re_exec F
-GLIBC_2.22 re_match F
-GLIBC_2.22 re_match_2 F
-GLIBC_2.22 re_search F
-GLIBC_2.22 re_search_2 F
-GLIBC_2.22 re_set_registers F
-GLIBC_2.22 re_set_syntax F
-GLIBC_2.22 re_syntax_options D 0x4
-GLIBC_2.22 read F
-GLIBC_2.22 readdir F
-GLIBC_2.22 readdir64 F
-GLIBC_2.22 readdir64_r F
-GLIBC_2.22 readdir_r F
-GLIBC_2.22 readlink F
-GLIBC_2.22 readlinkat F
-GLIBC_2.22 readv F
-GLIBC_2.22 realloc F
-GLIBC_2.22 realpath F
-GLIBC_2.22 reboot F
-GLIBC_2.22 recv F
-GLIBC_2.22 recvfrom F
-GLIBC_2.22 recvmmsg F
-GLIBC_2.22 recvmsg F
-GLIBC_2.22 regcomp F
-GLIBC_2.22 regerror F
-GLIBC_2.22 regexec F
-GLIBC_2.22 regfree F
-GLIBC_2.22 register_printf_function F
-GLIBC_2.22 register_printf_modifier F
-GLIBC_2.22 register_printf_specifier F
-GLIBC_2.22 register_printf_type F
-GLIBC_2.22 remap_file_pages F
-GLIBC_2.22 remove F
-GLIBC_2.22 removexattr F
-GLIBC_2.22 remque F
-GLIBC_2.22 rename F
-GLIBC_2.22 renameat F
-GLIBC_2.22 revoke F
-GLIBC_2.22 rewind F
-GLIBC_2.22 rewinddir F
-GLIBC_2.22 rexec F
-GLIBC_2.22 rexec_af F
-GLIBC_2.22 rexecoptions D 0x4
-GLIBC_2.22 rindex F
-GLIBC_2.22 rmdir F
-GLIBC_2.22 rpmatch F
-GLIBC_2.22 rresvport F
-GLIBC_2.22 rresvport_af F
-GLIBC_2.22 ruserok F
-GLIBC_2.22 ruserok_af F
-GLIBC_2.22 ruserpass F
-GLIBC_2.22 sbrk F
-GLIBC_2.22 scalbn F
-GLIBC_2.22 scalbnf F
-GLIBC_2.22 scalbnl F
-GLIBC_2.22 scandir F
-GLIBC_2.22 scandir64 F
-GLIBC_2.22 scandirat F
-GLIBC_2.22 scandirat64 F
-GLIBC_2.22 scanf F
-GLIBC_2.22 sched_get_priority_max F
-GLIBC_2.22 sched_get_priority_min F
-GLIBC_2.22 sched_getaffinity F
-GLIBC_2.22 sched_getparam F
-GLIBC_2.22 sched_getscheduler F
-GLIBC_2.22 sched_rr_get_interval F
-GLIBC_2.22 sched_setaffinity F
-GLIBC_2.22 sched_setparam F
-GLIBC_2.22 sched_setscheduler F
-GLIBC_2.22 sched_yield F
-GLIBC_2.22 secure_getenv F
-GLIBC_2.22 seed48 F
-GLIBC_2.22 seed48_r F
-GLIBC_2.22 seekdir F
-GLIBC_2.22 select F
-GLIBC_2.22 semctl F
-GLIBC_2.22 semget F
-GLIBC_2.22 semop F
-GLIBC_2.22 semtimedop F
-GLIBC_2.22 send F
-GLIBC_2.22 sendfile F
-GLIBC_2.22 sendfile64 F
-GLIBC_2.22 sendmmsg F
-GLIBC_2.22 sendmsg F
-GLIBC_2.22 sendto F
-GLIBC_2.22 setaliasent F
-GLIBC_2.22 setbuf F
-GLIBC_2.22 setbuffer F
-GLIBC_2.22 setcontext F
-GLIBC_2.22 setdomainname F
-GLIBC_2.22 setegid F
-GLIBC_2.22 setenv F
-GLIBC_2.22 seteuid F
-GLIBC_2.22 setfsent F
-GLIBC_2.22 setgid F
-GLIBC_2.22 setgrent F
-GLIBC_2.22 setgroups F
-GLIBC_2.22 sethostent F
-GLIBC_2.22 sethostid F
-GLIBC_2.22 sethostname F
-GLIBC_2.22 setipv4sourcefilter F
-GLIBC_2.22 setitimer F
-GLIBC_2.22 setjmp F
-GLIBC_2.22 setlinebuf F
-GLIBC_2.22 setlocale F
-GLIBC_2.22 setlogin F
-GLIBC_2.22 setlogmask F
-GLIBC_2.22 setmntent F
-GLIBC_2.22 setnetent F
-GLIBC_2.22 setnetgrent F
-GLIBC_2.22 setpgid F
-GLIBC_2.22 setpgrp F
-GLIBC_2.22 setpriority F
-GLIBC_2.22 setprotoent F
-GLIBC_2.22 setpwent F
-GLIBC_2.22 setregid F
-GLIBC_2.22 setresgid F
-GLIBC_2.22 setresuid F
-GLIBC_2.22 setreuid F
-GLIBC_2.22 setrlimit F
-GLIBC_2.22 setrlimit64 F
-GLIBC_2.22 setservent F
-GLIBC_2.22 setsgent F
-GLIBC_2.22 setsid F
-GLIBC_2.22 setsockopt F
-GLIBC_2.22 setsourcefilter F
-GLIBC_2.22 setspent F
-GLIBC_2.22 setstate F
-GLIBC_2.22 setstate_r F
-GLIBC_2.22 settimeofday F
-GLIBC_2.22 setttyent F
-GLIBC_2.22 setuid F
-GLIBC_2.22 setusershell F
-GLIBC_2.22 setutent F
-GLIBC_2.22 setutxent F
-GLIBC_2.22 setvbuf F
-GLIBC_2.22 setxattr F
-GLIBC_2.22 sgetsgent F
-GLIBC_2.22 sgetsgent_r F
-GLIBC_2.22 sgetspent F
-GLIBC_2.22 sgetspent_r F
-GLIBC_2.22 shmat F
-GLIBC_2.22 shmctl F
-GLIBC_2.22 shmdt F
-GLIBC_2.22 shmget F
-GLIBC_2.22 shutdown F
-GLIBC_2.22 sigaction F
-GLIBC_2.22 sigaddset F
-GLIBC_2.22 sigaltstack F
-GLIBC_2.22 sigandset F
-GLIBC_2.22 sigblock F
-GLIBC_2.22 sigdelset F
-GLIBC_2.22 sigemptyset F
-GLIBC_2.22 sigfillset F
-GLIBC_2.22 siggetmask F
-GLIBC_2.22 sighold F
-GLIBC_2.22 sigignore F
-GLIBC_2.22 siginterrupt F
-GLIBC_2.22 sigisemptyset F
-GLIBC_2.22 sigismember F
-GLIBC_2.22 siglongjmp F
-GLIBC_2.22 signal F
-GLIBC_2.22 sigorset F
-GLIBC_2.22 sigpause F
-GLIBC_2.22 sigpending F
-GLIBC_2.22 sigprocmask F
-GLIBC_2.22 sigqueue F
-GLIBC_2.22 sigrelse F
-GLIBC_2.22 sigreturn F
-GLIBC_2.22 sigset F
-GLIBC_2.22 sigsetmask F
-GLIBC_2.22 sigstack F
-GLIBC_2.22 sigsuspend F
-GLIBC_2.22 sigtimedwait F
-GLIBC_2.22 sigwait F
-GLIBC_2.22 sigwaitinfo F
-GLIBC_2.22 sleep F
-GLIBC_2.22 snprintf F
-GLIBC_2.22 sockatmark F
-GLIBC_2.22 socket F
-GLIBC_2.22 socketpair F
-GLIBC_2.22 sprintf F
-GLIBC_2.22 sprofil F
-GLIBC_2.22 srand F
-GLIBC_2.22 srand48 F
-GLIBC_2.22 srand48_r F
-GLIBC_2.22 srandom F
-GLIBC_2.22 srandom_r F
-GLIBC_2.22 sscanf F
-GLIBC_2.22 ssignal F
-GLIBC_2.22 sstk F
-GLIBC_2.22 statfs F
-GLIBC_2.22 statfs64 F
-GLIBC_2.22 statvfs F
-GLIBC_2.22 statvfs64 F
-GLIBC_2.22 stderr D 0x4
-GLIBC_2.22 stdin D 0x4
-GLIBC_2.22 stdout D 0x4
-GLIBC_2.22 step F
-GLIBC_2.22 stime F
-GLIBC_2.22 stpcpy F
-GLIBC_2.22 stpncpy F
-GLIBC_2.22 strcasecmp F
-GLIBC_2.22 strcasecmp_l F
-GLIBC_2.22 strcasestr F
-GLIBC_2.22 strcat F
-GLIBC_2.22 strchr F
-GLIBC_2.22 strchrnul F
-GLIBC_2.22 strcmp F
-GLIBC_2.22 strcoll F
-GLIBC_2.22 strcoll_l F
-GLIBC_2.22 strcpy F
-GLIBC_2.22 strcspn F
-GLIBC_2.22 strdup F
-GLIBC_2.22 strerror F
-GLIBC_2.22 strerror_l F
-GLIBC_2.22 strerror_r F
-GLIBC_2.22 strfmon F
-GLIBC_2.22 strfmon_l F
-GLIBC_2.22 strfry F
-GLIBC_2.22 strftime F
-GLIBC_2.22 strftime_l F
-GLIBC_2.22 strlen F
-GLIBC_2.22 strncasecmp F
-GLIBC_2.22 strncasecmp_l F
-GLIBC_2.22 strncat F
-GLIBC_2.22 strncmp F
-GLIBC_2.22 strncpy F
-GLIBC_2.22 strndup F
-GLIBC_2.22 strnlen F
-GLIBC_2.22 strpbrk F
-GLIBC_2.22 strptime F
-GLIBC_2.22 strptime_l F
-GLIBC_2.22 strrchr F
-GLIBC_2.22 strsep F
-GLIBC_2.22 strsignal F
-GLIBC_2.22 strspn F
-GLIBC_2.22 strstr F
-GLIBC_2.22 strtod F
-GLIBC_2.22 strtod_l F
-GLIBC_2.22 strtof F
-GLIBC_2.22 strtof_l F
-GLIBC_2.22 strtoimax F
-GLIBC_2.22 strtok F
-GLIBC_2.22 strtok_r F
-GLIBC_2.22 strtol F
-GLIBC_2.22 strtol_l F
-GLIBC_2.22 strtold F
-GLIBC_2.22 strtold_l F
-GLIBC_2.22 strtoll F
-GLIBC_2.22 strtoll_l F
-GLIBC_2.22 strtoq F
-GLIBC_2.22 strtoul F
-GLIBC_2.22 strtoul_l F
-GLIBC_2.22 strtoull F
-GLIBC_2.22 strtoull_l F
-GLIBC_2.22 strtoumax F
-GLIBC_2.22 strtouq F
-GLIBC_2.22 strverscmp F
-GLIBC_2.22 strxfrm F
-GLIBC_2.22 strxfrm_l F
-GLIBC_2.22 stty F
-GLIBC_2.22 swab F
-GLIBC_2.22 swapcontext F
-GLIBC_2.22 swprintf F
-GLIBC_2.22 swscanf F
-GLIBC_2.22 symlink F
-GLIBC_2.22 symlinkat F
-GLIBC_2.22 sync F
-GLIBC_2.22 syncfs F
-GLIBC_2.22 sys_sigabbrev D 0x80
-GLIBC_2.22 sys_siglist D 0x80
-GLIBC_2.22 syscall F
-GLIBC_2.22 sysconf F
-GLIBC_2.22 syslog F
-GLIBC_2.22 system F
-GLIBC_2.22 sysv_signal F
-GLIBC_2.22 tcdrain F
-GLIBC_2.22 tcflow F
-GLIBC_2.22 tcflush F
-GLIBC_2.22 tcgetattr F
-GLIBC_2.22 tcgetpgrp F
-GLIBC_2.22 tcgetsid F
-GLIBC_2.22 tcsendbreak F
-GLIBC_2.22 tcsetattr F
-GLIBC_2.22 tcsetpgrp F
-GLIBC_2.22 tdelete F
-GLIBC_2.22 tdestroy F
-GLIBC_2.22 telldir F
-GLIBC_2.22 tempnam F
-GLIBC_2.22 textdomain F
-GLIBC_2.22 tfind F
-GLIBC_2.22 time F
-GLIBC_2.22 timegm F
-GLIBC_2.22 timelocal F
-GLIBC_2.22 times F
-GLIBC_2.22 timespec_get F
-GLIBC_2.22 timezone D 0x4
-GLIBC_2.22 tmpfile F
-GLIBC_2.22 tmpfile64 F
-GLIBC_2.22 tmpnam F
-GLIBC_2.22 tmpnam_r F
-GLIBC_2.22 toascii F
-GLIBC_2.22 tolower F
-GLIBC_2.22 tolower_l F
-GLIBC_2.22 toupper F
-GLIBC_2.22 toupper_l F
-GLIBC_2.22 towctrans F
-GLIBC_2.22 towctrans_l F
-GLIBC_2.22 towlower F
-GLIBC_2.22 towlower_l F
-GLIBC_2.22 towupper F
-GLIBC_2.22 towupper_l F
-GLIBC_2.22 tr_break F
-GLIBC_2.22 truncate F
-GLIBC_2.22 truncate64 F
-GLIBC_2.22 tsearch F
-GLIBC_2.22 ttyname F
-GLIBC_2.22 ttyname_r F
-GLIBC_2.22 ttyslot F
-GLIBC_2.22 twalk F
-GLIBC_2.22 tzname D 0x8
-GLIBC_2.22 tzset F
-GLIBC_2.22 ualarm F
-GLIBC_2.22 ulckpwdf F
-GLIBC_2.22 ulimit F
-GLIBC_2.22 umask F
-GLIBC_2.22 uname F
-GLIBC_2.22 ungetc F
-GLIBC_2.22 ungetwc F
-GLIBC_2.22 unlink F
-GLIBC_2.22 unlinkat F
-GLIBC_2.22 unlockpt F
-GLIBC_2.22 unsetenv F
-GLIBC_2.22 updwtmp F
-GLIBC_2.22 updwtmpx F
-GLIBC_2.22 uselocale F
-GLIBC_2.22 usleep F
-GLIBC_2.22 ustat F
-GLIBC_2.22 utime F
-GLIBC_2.22 utimensat F
-GLIBC_2.22 utimes F
-GLIBC_2.22 utmpname F
-GLIBC_2.22 utmpxname F
-GLIBC_2.22 valloc F
-GLIBC_2.22 vasprintf F
-GLIBC_2.22 vdprintf F
-GLIBC_2.22 verr F
-GLIBC_2.22 verrx F
-GLIBC_2.22 versionsort F
-GLIBC_2.22 versionsort64 F
-GLIBC_2.22 vfork F
-GLIBC_2.22 vfprintf F
-GLIBC_2.22 vfscanf F
-GLIBC_2.22 vfwprintf F
-GLIBC_2.22 vfwscanf F
-GLIBC_2.22 vhangup F
-GLIBC_2.22 vlimit F
-GLIBC_2.22 vprintf F
-GLIBC_2.22 vscanf F
-GLIBC_2.22 vsnprintf F
-GLIBC_2.22 vsprintf F
-GLIBC_2.22 vsscanf F
-GLIBC_2.22 vswprintf F
-GLIBC_2.22 vswscanf F
-GLIBC_2.22 vsyslog F
-GLIBC_2.22 vtimes F
-GLIBC_2.22 vwarn F
-GLIBC_2.22 vwarnx F
-GLIBC_2.22 vwprintf F
-GLIBC_2.22 vwscanf F
-GLIBC_2.22 wait F
-GLIBC_2.22 wait3 F
-GLIBC_2.22 wait4 F
-GLIBC_2.22 waitid F
-GLIBC_2.22 waitpid F
-GLIBC_2.22 warn F
-GLIBC_2.22 warnx F
-GLIBC_2.22 wcpcpy F
-GLIBC_2.22 wcpncpy F
-GLIBC_2.22 wcrtomb F
-GLIBC_2.22 wcscasecmp F
-GLIBC_2.22 wcscasecmp_l F
-GLIBC_2.22 wcscat F
-GLIBC_2.22 wcschr F
-GLIBC_2.22 wcschrnul F
-GLIBC_2.22 wcscmp F
-GLIBC_2.22 wcscoll F
-GLIBC_2.22 wcscoll_l F
-GLIBC_2.22 wcscpy F
-GLIBC_2.22 wcscspn F
-GLIBC_2.22 wcsdup F
-GLIBC_2.22 wcsftime F
-GLIBC_2.22 wcsftime_l F
-GLIBC_2.22 wcslen F
-GLIBC_2.22 wcsncasecmp F
-GLIBC_2.22 wcsncasecmp_l F
-GLIBC_2.22 wcsncat F
-GLIBC_2.22 wcsncmp F
-GLIBC_2.22 wcsncpy F
-GLIBC_2.22 wcsnlen F
-GLIBC_2.22 wcsnrtombs F
-GLIBC_2.22 wcspbrk F
-GLIBC_2.22 wcsrchr F
-GLIBC_2.22 wcsrtombs F
-GLIBC_2.22 wcsspn F
-GLIBC_2.22 wcsstr F
-GLIBC_2.22 wcstod F
-GLIBC_2.22 wcstod_l F
-GLIBC_2.22 wcstof F
-GLIBC_2.22 wcstof_l F
-GLIBC_2.22 wcstoimax F
-GLIBC_2.22 wcstok F
-GLIBC_2.22 wcstol F
-GLIBC_2.22 wcstol_l F
-GLIBC_2.22 wcstold F
-GLIBC_2.22 wcstold_l F
-GLIBC_2.22 wcstoll F
-GLIBC_2.22 wcstoll_l F
-GLIBC_2.22 wcstombs F
-GLIBC_2.22 wcstoq F
-GLIBC_2.22 wcstoul F
-GLIBC_2.22 wcstoul_l F
-GLIBC_2.22 wcstoull F
-GLIBC_2.22 wcstoull_l F
-GLIBC_2.22 wcstoumax F
-GLIBC_2.22 wcstouq F
-GLIBC_2.22 wcswcs F
-GLIBC_2.22 wcswidth F
-GLIBC_2.22 wcsxfrm F
-GLIBC_2.22 wcsxfrm_l F
-GLIBC_2.22 wctob F
-GLIBC_2.22 wctomb F
-GLIBC_2.22 wctrans F
-GLIBC_2.22 wctrans_l F
-GLIBC_2.22 wctype F
-GLIBC_2.22 wctype_l F
-GLIBC_2.22 wcwidth F
-GLIBC_2.22 wmemchr F
-GLIBC_2.22 wmemcmp F
-GLIBC_2.22 wmemcpy F
-GLIBC_2.22 wmemmove F
-GLIBC_2.22 wmempcpy F
-GLIBC_2.22 wmemset F
-GLIBC_2.22 wordexp F
-GLIBC_2.22 wordfree F
-GLIBC_2.22 wprintf F
-GLIBC_2.22 write F
-GLIBC_2.22 writev F
-GLIBC_2.22 wscanf F
-GLIBC_2.23 GLIBC_2.23 A
-GLIBC_2.23 fts64_children F
-GLIBC_2.23 fts64_close F
-GLIBC_2.23 fts64_open F
-GLIBC_2.23 fts64_read F
-GLIBC_2.23 fts64_set F
-GLIBC_2.24 GLIBC_2.24 A
-GLIBC_2.24 quick_exit F
-GLIBC_2.25 GLIBC_2.25 A
-GLIBC_2.25 __explicit_bzero_chk F
-GLIBC_2.25 explicit_bzero F
-GLIBC_2.25 getentropy F
-GLIBC_2.25 getrandom F
-GLIBC_2.25 gnu_dev_major F
-GLIBC_2.25 gnu_dev_makedev F
-GLIBC_2.25 gnu_dev_minor F
-GLIBC_2.25 strfromd F
-GLIBC_2.25 strfromf F
-GLIBC_2.25 strfroml F
diff --git a/sysdeps/arm/nacl/shlib-versions b/sysdeps/arm/nacl/shlib-versions
deleted file mode 100644
index 9d94784..0000000
--- a/sysdeps/arm/nacl/shlib-versions
+++ /dev/null
@@ -1,4 +0,0 @@
-# Library=version		Earliest symbol set (optional)
-# ---------------		------------------------------
-
-ld=ld-nacl-arm.so.1
diff --git a/sysdeps/arm/nacl/start.c b/sysdeps/arm/nacl/start.c
deleted file mode 100644
index 25f6fd7..0000000
--- a/sysdeps/arm/nacl/start.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/nacl/start.c>
diff --git a/sysdeps/arm/nacl/sysdep.h b/sysdeps/arm/nacl/sysdep.h
deleted file mode 100644
index 76b185a..0000000
--- a/sysdeps/arm/nacl/sysdep.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Assembler macros for ARM/NaCl.
-   Copyright (C) 2015-2017 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 _ARM_NACL_SYSDEP_H
-#define _ARM_NACL_SYSDEP_H	1
-
-#ifdef __ASSEMBLER__
-
-# ifndef NO_THUMB
-#  define NO_THUMB
-# endif
-# define ARM_SFI_MACROS		1
-
-/* The compiler driver primes the assembler with a standard set of
-   macros that includes sfi_breg and sfi_sp.  The sfi_pld macro is
-   redundant with sfi_breg, but libc code uses it so as not to run
-   afoul of the assembler's parsing bug in versions prior to 2.23.2.
-   NaCl never uses an assembler that has this bug.  */
-
-.macro sfi_pld basereg, offset=#0
-	sfi_breg \basereg, pld [\basereg, \offset]
-.endm
-
-#endif
-
-#include <sysdeps/arm/sysdep.h>
-
-#ifdef  __ASSEMBLER__
-
-# undef eabi_fnstart
-# define eabi_fnstart
-# undef eabi_fnend
-# define eabi_fnend
-# undef eabi_save
-# define eabi_save(...)
-# undef eabi_cantunwind
-# define eabi_cantunwind
-# undef eabi_pad
-# define eabi_pad(n)
-
-/* NaCl has its own special way of getting the thread pointer.  */
-# undef	GET_TLS
-# define GET_TLS(tmp)		ldr r0, [r9]
-
-/* Rather than macroizing the code any more, we can just define a few
-   mnemonics as macros here.  */
-# define bl			sfi_bl
-# define bx			sfi_bx
-# define blx			sfi_blx
-# define bxeq			sfi_bxeq /* Only condition now in use.  */
-
-#endif  /* __ASSEMBLER__ */
-
-#endif  /* sysdep.h */
diff --git a/sysdeps/arm/nacl/tls.h b/sysdeps/arm/nacl/tls.h
deleted file mode 100644
index 646e7a9..0000000
--- a/sysdeps/arm/nacl/tls.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <sysdeps/arm/nptl/tls.h>
-#include <sysdeps/nacl/tls.h>
diff --git a/sysdeps/arm/nacl/uname-values.h b/sysdeps/arm/nacl/uname-values.h
deleted file mode 100644
index 04a37c9..0000000
--- a/sysdeps/arm/nacl/uname-values.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Constant values for the uname function to return.  NaCl/ARM version.
-   Copyright (C) 2015-2017 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 UNAME_MACHINE "arm"
-#include <sysdeps/nacl/uname-values.h>
diff --git a/sysdeps/nacl/Implies b/sysdeps/nacl/Implies
deleted file mode 100644
index 0448f3f..0000000
--- a/sysdeps/nacl/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-nptl
-posix
-gnu
diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
deleted file mode 100644
index 47b9cbd..0000000
--- a/sysdeps/nacl/Makefile
+++ /dev/null
@@ -1,145 +0,0 @@
-# Makefile fragment for NaCl configurations.
-
-# Copyright (C) 2015-2017 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/>.
-
-# The libthread_db code does not compile for NaCl because there is no
-# sys/procfs.h supplying the register layout types.  But since libthread_db
-# will probably never be useful for NaCl, just elide the directory rather
-# than implementing stuff to make it compile (and never get used).
-subdirs := $(filter-out nptl_db,$(subdirs))
-sorted-subdirs := $(filter-out nptl_db,$(sorted-subdirs))
-
-# The (required) --with-headers option to configure sets sysheaders to the
-# location of the native_client/.. source directory.  We'll get necessary
-# headers directly from there.
-naclsrc = $(sysheaders)/native_client/src
-
-# How to find the directory containing this Makefile.
-nacl = $(..)sysdeps/nacl
-
-# Generate our bits/errno.h with the numbers from NaCl's sys/errno.h file.
-nacl-errno = $(naclsrc)/trusted/service_runtime/include/sys/errno.h
-
-bits-errno = $(common-objpfx)bits/errno.h
-$(bits-errno): $(common-objpfx)stamp-errnos ;
-$(common-objpfx)stamp-errnos: $(nacl)/errnos.awk $(..)manual/errno.texi \
-			      $(nacl-errno)
-	$(make-target-directory)
-	$(AWK) -f $^ > $(bits-errno)-tmp
-# Make it unwritable so noone will edit it by mistake.
-	-chmod a-w $(bits-errno)-tmp
-	$(move-if-change) $(bits-errno)-tmp $(bits-errno)
-	touch $@
-common-generated += stamp-errnos bits/errno.h
-before-compile += $(bits-errno)
-
-# Massage NaCl's irt.h (and irt_dev.h) into something we can use.
-# See irt.sed for details.
-nacl-irt.h = $(common-objpfx)nacl-irt.h
-$(nacl-irt.h): $(nacl)/irt.sed \
-	       $(naclsrc)/untrusted/irt/irt.h \
-	       $(naclsrc)/untrusted/irt/irt_dev.h
-	sed -f $^ > $@.new
-	mv -f $@.new $@
-common-generated += nacl-irt.h
-before-compile += $(nacl-irt.h)
-
-$(common-objpfx)nacl-interfaces.v.i: $(nacl)/nacl-interfaces.mk.in \
-				     $(nacl)/nacl-interface-list.h
--include $(common-objpfx)nacl-interfaces.v
-common-generated += nacl-interfaces.v
-before-compile += $(common-objpfx)nacl-interfaces.v
-
-nacl-all-interfaces = $(nacl-mandatory-interfaces) $(nacl-optional-interfaces)
-nacl-interface-routines = $(nacl-all-interfaces:%=nacl-interface-%)
-
-define nacl-interface-table-command
-(echo '#define INTERFACE_CATEGORY $1'; \
- echo '#define INTERFACE_MODULE $(firstword $(subst -, ,$*))'; \
- echo '#define INTERFACE_TYPE $(word 2,$(subst -, ,$*))'; \
- echo '#define INTERFACE_STRING $(nacl-$*-string)'; \
- echo '#include "nacl-interface-table.c"' \
-) > $@T
-mv -f $@T $@
-endef
-
-nacl-interface-pattern = $(objpfx)nacl-interface-%.c
-
-$(nacl-mandatory-interfaces:%=$(nacl-interface-pattern)): \
-  $(nacl-interface-pattern): $(nacl)/Makefile $(common-objpfx)nacl-interfaces.v
-	$(make-target-directory)
-	$(call nacl-interface-table-command,mandatory)
-$(nacl-optional-interfaces:%=$(nacl-interface-pattern)): \
-  $(nacl-interface-pattern): $(nacl)/Makefile $(common-objpfx)nacl-interfaces.v
-	$(make-target-directory)
-	$(call nacl-interface-table-command,optional)
-
-nacl-routines-of = $(filter nacl-interface-$1-%,$(nacl-interface-routines))
-
-
-# Run the NaCl code validator on binaries after we link them, so the
-# build does not succeed with any binary that won't pass validation.
-# Moving the file around makes sure that we don't leave a target
-# appearing complete after it fails validation.
-define after-link
-mv -f $1 $1.prevalidation
-$(nacl)/nacl-after-link.sh '${READELF}' $1.prevalidation
-mv -f $1.prevalidation $1
-endef
-
-# The test wrapper script takes care of running things under NaCl's sel_ldr.
-test-wrapper-env-only = $(nacl)/nacl-test-wrapper.sh --arch=$(nacl-sdk-arch)
-test-wrapper-env = $(test-wrapper-env-only)
-test-wrapper = $(test-wrapper-env) --
-
-ifeq ($(subdir),csu)
-sysdep_routines += nacl_interface_query nacl_interface_ext_supply \
-		   nacl-interfaces $(call nacl-routines-of,libc)
-endif
-
-ifeq ($(subdir),elf)
-sysdep-dl-routines += $(call nacl-routines-of,rtld)
-sysdep-rtld-routines += nacl-interfaces $(call nacl-routines-of,rtld)
-endif
-
-ifeq ($(subdir),io)
-sysdep_routines += xstatconv
-endif
-
-ifeq ($(subdir),nptl)
-# We do not need any wrappers in libpthread.
-libpthread-routines := \
-  $(filter-out $(pthread-compat-wrappers),$(libpthread-routines))
-endif
-
-ifeq ($(subdir),misc)
-# We reuse the Linux file since the bits match.  The file lives in the
-# top-level source tree so we can use it without reference to any
-# sysdeps/.../linux/ directories, but it's still a sysdeps decision to
-# install it.
-sysdep_headers += bits/mman-linux.h
-
-# This defeats sysdeps/gnu/Makefile's addition of sys/mtio.h, which
-# we do not want.  This is a total kludge, but it seems no worse for
-# now than making the sysdeps/gnu/Makefile code conditional on a
-# variable we set here.  If some sysdeps/.../Makefile that is later
-# in the list than sysdeps/gnu needed to add to sysdep_headers, this
-# would break it.  But sysdeps/gnu is close to last in the list and
-# this coming up seems unlikely.
-override sysdep_headers := $(sysdep_headers)
-endif
diff --git a/sysdeps/nacl/Subdirs b/sysdeps/nacl/Subdirs
deleted file mode 100644
index 5d570b9..0000000
--- a/sysdeps/nacl/Subdirs
+++ /dev/null
@@ -1,3 +0,0 @@
-inet
-resolv
-nss
diff --git a/sysdeps/nacl/Versions b/sysdeps/nacl/Versions
deleted file mode 100644
index cfc4a08..0000000
--- a/sysdeps/nacl/Versions
+++ /dev/null
@@ -1,23 +0,0 @@
-ld {
-  GLIBC_PRIVATE {
-    __nacl_irt_*;
-    __nacl_supply_interface_rtld;
-  }
-}
-
-libc {
-  GLIBC_2.22 {
-    nacl_interface_query;
-    nacl_interface_ext_supply;
-  }
-
-  GLIBC_PRIVATE {
-    # These are used by libpthread.
-    __libc_write;
-    __libc_open;
-    __libc_close;
-    __libc_fork;
-
-    __nacl_irt_*;
-  }
-}
diff --git a/sysdeps/nacl/_exit.c b/sysdeps/nacl/_exit.c
deleted file mode 100644
index 025ec12..0000000
--- a/sysdeps/nacl/_exit.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* _exit -- low-level program termination.  NaCl version.
-   Copyright (C) 2015-2017 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 <stdlib.h>
-#include <nacl-interfaces.h>
-
-void
-_exit (int status)
-{
-  __nacl_irt_basic.exit (status);
-
-  /* That never returns unless something is severely and unrecoverably wrong.
-     If it ever does, try to make sure we crash.  */
-  while (1)
-    __builtin_trap ();
-}
-libc_hidden_def (_exit)
-rtld_hidden_def (_exit)
-weak_alias (_exit, _Exit)
diff --git a/sysdeps/nacl/access.c b/sysdeps/nacl/access.c
deleted file mode 100644
index a6b6693..0000000
--- a/sysdeps/nacl/access.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Check file access permission.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Test for access to FILE without setting errno.  */
-int
-__access_noerrno (const char *file, int type)
-{
-  return NACL_CALL_NOERRNO (__nacl_irt_dev_filename.access (file, type), 0);
-}
-
-/* Test for access to FILE.  */
-int
-__access (const char *file, int type)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.access (file, type), 0);
-}
-weak_alias (__access, access)
diff --git a/sysdeps/nacl/backtrace.c b/sysdeps/nacl/backtrace.c
deleted file mode 100644
index 27ce597..0000000
--- a/sysdeps/nacl/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/backtrace.c>
diff --git a/sysdeps/nacl/bits/dirent.h b/sysdeps/nacl/bits/dirent.h
deleted file mode 100644
index 2ff1292..0000000
--- a/sysdeps/nacl/bits/dirent.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Directory entry structure `struct dirent'.  NaCl version.
-   Copyright (C) 2015-2017 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 _DIRENT_H
-# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
-#endif
-
-/* Note that __ino_t and __ino64_t are the same type.
-   Likewise __off_t and __off64_t are the same type.  */
-
-struct dirent
-  {
-    __ino_t d_ino;		/* File serial number.  */
-    __off_t d_off;		/* File position of this entry.  */
-    unsigned short int d_reclen; /* Length of the whole `struct dirent'.  */
-
-    /* Only this member is in the POSIX standard.  */
-    char d_name[256];		/* We must not include limits.h! */
-  };
-
-#ifdef __USE_LARGEFILE64
-/* This is completely identical to `struct dirent'.  */
-struct dirent64
-  {
-    __ino_t d_ino;		/* File serial number.  */
-    __off_t d_off;		/* File position of this entry.  */
-    unsigned short int d_reclen; /* Length of the whole `struct dirent'.  */
-
-    /* Only this member is in the POSIX standard.  */
-    char d_name[256];		/* We must not include limits.h! */
-  };
-#endif
-
-#define d_fileno			d_ino /* Backwards compatibility.  */
-
-#define _DIRENT_HAVE_D_RECLEN		1
-#define _DIRENT_MATCHES_DIRENT64	1
diff --git a/sysdeps/nacl/bits/fcntl.h b/sysdeps/nacl/bits/fcntl.h
deleted file mode 100644
index fda5738..0000000
--- a/sysdeps/nacl/bits/fcntl.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/* O_*, F_*, FD_* bit values.  NaCl version.
-   Copyright (C) 2015-2017 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 _FCNTL_H
-#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-
-/* File access modes for `open' and `fcntl'.  */
-#define O_RDONLY        0       /* Open read-only.  */
-#define O_WRONLY        1       /* Open write-only.  */
-#define O_RDWR          2       /* Open read/write.  */
-
-
-/* Bits OR'd into the second argument to open.  */
-#define O_CREAT         00100   /* Create file if it doesn't exist.  */
-#define O_EXCL          00200   /* Fail if file already exists.  */
-#define O_TRUNC         01000   /* Truncate file to zero length.  */
-#define O_NOCTTY        0       /* Don't assign a controlling terminal.  */
-#define O_ASYNC         020000  /* Send SIGIO to owner when data is ready.  */
-#define O_FSYNC         010000  /* Synchronous writes.  */
-#define O_SYNC          O_FSYNC
-#ifdef __USE_XOPEN2K8
-# define O_DIRECTORY    00200000        /* Must be a directory.  */
-# define O_NOFOLLOW     00400000        /* Do not follow links.  */
-# define O_CLOEXEC      02000000        /* Set close_on_exec.  */
-#endif
-#if defined __USE_POSIX199309 || defined __USE_UNIX98
-# define O_DSYNC        O_SYNC          /* Synchronize data.  */
-# define O_RSYNC        O_SYNC          /* Synchronize read operations.  */
-#endif
-
-/* All opens support large file sizes, so there is no flag bit for this.  */
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE    0
-#endif
-
-/* File status flags for `open' and `fcntl'.  */
-#define O_APPEND        02000   /* Writes append to the file.  */
-#define O_NONBLOCK      04000   /* Non-blocking I/O.  */
-
-#ifdef __USE_MISC
-# define O_NDELAY       O_NONBLOCK
-#endif
-
-#ifdef __USE_MISC
-/* Bits in the file status flags returned by F_GETFL.
-   These are all the O_* flags, plus FREAD and FWRITE, which are
-   independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was
-   given to `open'.  */
-# define FREAD          1
-# define FWRITE         2
-
-/* Traditional BSD names the O_* bits.  */
-# define FASYNC         O_ASYNC
-# define FFSYNC         O_FSYNC
-# define FSYNC          O_SYNC
-# define FAPPEND        O_APPEND
-# define FNDELAY        O_NDELAY
-#endif
-
-/* Mask for file access modes.  This is system-dependent in case
-   some system ever wants to define some other flavor of access.  */
-#define O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
-
-/* 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.  */
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
-#define F_GETOWN        5       /* Get owner (receiver of SIGIO).  */
-#define F_SETOWN        6       /* Set owner (receiver of SIGIO).  */
-#endif
-#define F_GETLK         7       /* Get record locking info.  */
-#define F_SETLK         8       /* Set record locking info (non-blocking).  */
-#define F_SETLKW        9       /* Set record locking info (blocking).  */
-/* Not necessary, we always have 64-bit offsets.  */
-#define F_GETLK64       F_GETLK /* Get record locking info.  */
-#define F_SETLK64       F_SETLK /* Set record locking info (non-blocking).  */
-#define F_SETLKW64      F_SETLKW/* Set record locking info (blocking).  */
-#ifdef __USE_XOPEN2K8
-# define F_DUPFD_CLOEXEC 12     /* Duplicate file descriptor with
-                                   close-on-exec set.  */
-#endif
-
-/* File descriptor flags used with F_GETFD and F_SETFD.  */
-#define FD_CLOEXEC      1       /* Close on exec.  */
-
-
-#include <bits/types.h>
-
-/* The structure describing an advisory lock.  This is the type of the third
-   argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests.  */
-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').  */
-    __off_t l_start;    /* Offset where the lock begins.  */
-    __off_t l_len;      /* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;      /* Process holding the lock.  */
-  };
-
-#ifdef __USE_LARGEFILE64
-/* Note this matches struct flock exactly.  */
-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').  */
-    __off_t l_start;    /* Offset where the lock begins.  */
-    __off_t l_len;      /* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;      /* Process holding the lock.  */
-  };
-#endif
-
-/* Values for the `l_type' field of a `struct flock'.  */
-#define F_RDLCK 1       /* Read lock.  */
-#define F_WRLCK 2       /* Write lock.  */
-#define F_UNLCK 3       /* Remove lock.  */
-
-/* Advice 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
diff --git a/sysdeps/nacl/bits/local_lim.h b/sysdeps/nacl/bits/local_lim.h
deleted file mode 100644
index 7d600e3..0000000
--- a/sysdeps/nacl/bits/local_lim.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Minimum guaranteed maximum values for system limits.  NaCl version.
-   Copyright (C) 2015-2017 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 NAME_MAX        255
-
-#define PATH_MAX        4096
-
-#define NGROUPS_MAX    65536
-
-/* The number of data keys per process.  */
-#define _POSIX_THREAD_KEYS_MAX  128
-/* This is the value this implementation supports.  */
-#define PTHREAD_KEYS_MAX        1024
-
-/* Controlling the iterations of destructors for thread-specific data.  */
-#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS     4
-/* Number of iterations this implementation does.  */
-#define PTHREAD_DESTRUCTOR_ITERATIONS   _POSIX_THREAD_DESTRUCTOR_ITERATIONS
-
-/* The number of threads per process.  */
-#define _POSIX_THREAD_THREADS_MAX       64
-/* We have no predefined limit on the number of threads.  */
-#undef PTHREAD_THREADS_MAX
-
-/* Maximum amount by which a process can descrease its asynchronous I/O
-   priority level.  */
-#define AIO_PRIO_DELTA_MAX      20
-
-/* Minimum size for a thread.  We are free to choose a reasonable value.  */
-#define PTHREAD_STACK_MIN       131072
-
-/* Maximum number of timer expiration overruns.  */
-#define DELAYTIMER_MAX          2147483647
-
-/* Maximum tty name length.  */
-#define TTY_NAME_MAX            32
-
-/* Maximum login name length.  This is arbitrary.  */
-#define LOGIN_NAME_MAX          256
-
-/* Maximum host name length.  */
-#define HOST_NAME_MAX           64
-
-/* Maximum message queue priority level.  */
-#define MQ_PRIO_MAX             32768
-
-/* Maximum value the semaphore can have.  */
-#define SEM_VALUE_MAX           (2147483647)
diff --git a/sysdeps/nacl/bits/mman.h b/sysdeps/nacl/bits/mman.h
deleted file mode 100644
index 28b827c..0000000
--- a/sysdeps/nacl/bits/mman.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Definitions for POSIX memory map interface.  NaCl version.
-   Copyright (C) 2015-2017 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_MMAN_H
-# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
-#endif
-
-/* NaCl uses the Linux bits for this.  */
-#include <bits/mman-linux.h>
diff --git a/sysdeps/nacl/bits/param.h b/sysdeps/nacl/bits/param.h
deleted file mode 100644
index 62d77b6..0000000
--- a/sysdeps/nacl/bits/param.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Old-style Unix parameters and limits.  NaCl version.
-   Copyright (C) 2012-2017 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_PARAM_H
-# error "Never use <bits/param.h> directly; include <sys/param.h> instead."
-#endif
-
-#define EXEC_PAGESIZE   0x10000
diff --git a/sysdeps/nacl/bits/posix_opt.h b/sysdeps/nacl/bits/posix_opt.h
deleted file mode 100644
index 0bb6ac7..0000000
--- a/sysdeps/nacl/bits/posix_opt.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* Define POSIX options for NaCl.
-   Copyright (C) 2015-2017 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; see the file COPYING.LIB.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef	_BITS_POSIX_OPT_H
-#define	_BITS_POSIX_OPT_H	1
-
-/* Job control is supported.  (Not really, but the APIs exist.)  */
-#define	_POSIX_JOB_CONTROL			1
-
-/* Processes have a saved set-user-ID and a saved set-group-ID.  */
-#define	_POSIX_SAVED_IDS			1
-
-/* Priority scheduling is supported. ??? */
-#define	_POSIX_PRIORITY_SCHEDULING		200809L
-
-/* Synchronizing file data is supported. ???  */
-#define	_POSIX_SYNCHRONIZED_IO			200809L
-
-/* The fsync function is present.  */
-#define	_POSIX_FSYNC				200809L
-
-/* Mapping of files to memory is supported.  */
-#define	_POSIX_MAPPED_FILES			200809L
-
-/* Locking of all memory is not supported.  */
-#define	_POSIX_MEMLOCK				-1
-
-/* Locking of ranges of memory is not supported.  */
-#define	_POSIX_MEMLOCK_RANGE			-1
-
-/* Setting of memory protections is supported.  */
-#define	_POSIX_MEMORY_PROTECTION		200809L
-
-/* Some filesystems allow all users to change file ownership.  */
-#define	_POSIX_CHOWN_RESTRICTED			0
-
-/* `c_cc' member of 'struct termios' structure can be disabled by
-   using the value _POSIX_VDISABLE.  ??? */
-#define	_POSIX_VDISABLE				'\0'
-
-/* Filenames are not silently truncated.  */
-#define	_POSIX_NO_TRUNC				1
-
-/* X/Open realtime support is not fully available.  This requires the
-   following set of POSIX.1 features, not all of which NaCl supports:
-        _POSIX_FSYNC
-        _POSIX_MEMLOCK
-        _POSIX_MEMLOCK_RANGE
-        _POSIX_MESSAGE_PASSING
-        _POSIX_PRIORITIZED_IO
-        _POSIX_PRIORITY_SCHEDULING
-        _POSIX_SHARED_MEMORY_OBJECTS
-        _POSIX_SYNCHRONIZED_IO
- */
-#define _XOPEN_REALTIME				-1
-
-/* X/Open thread realtime support is not available.  This requires the
-   following set of POSIX.1 features, none of which NaCl supports:
-        _POSIX_THREAD_PRIO_INHERIT
-        _POSIX_THREAD_PRIO_PROTECT
-        _POSIX_THREAD_PRIORITY_SCHEDULING
-        _POSIX_THREAD_ROBUST_PRIO_INHERIT
-        _POSIX_THREAD_ROBUST_PRIO_PROTECT
- */
-#define _XOPEN_REALTIME_THREADS			-1
-
-/* XPG4.2 shared memory is not supported.
-   ??? What is this?  shm* interfaces?
-*/
-#define	_XOPEN_SHM				-1
-
-/* POSIX threads are supported.  */
-#define _POSIX_THREADS				200809L
-
-/* We have the reentrant functions described in POSIX.  */
-#define _POSIX_REENTRANT_FUNCTIONS      	1
-#define _POSIX_THREAD_SAFE_FUNCTIONS		200809L
-
-/* We do not provide priority scheduling for threads.  */
-#define _POSIX_THREAD_PRIORITY_SCHEDULING	-1
-
-/* We support user-defined stack sizes.  */
-#define _POSIX_THREAD_ATTR_STACKSIZE		200809L
-
-/* We support user-defined stacks.  */
-#define _POSIX_THREAD_ATTR_STACKADDR		200809L
-
-/* We do not support priority inheritence.  */
-#define _POSIX_THREAD_PRIO_INHERIT		-1
-
-/* We do not support priority protection.  */
-#define _POSIX_THREAD_PRIO_PROTECT		-1
-
-#ifdef __USE_XOPEN2K8
-/* We do not support priority inheritence for robust mutexes.  */
-# define _POSIX_THREAD_ROBUST_PRIO_INHERIT	-1
-
-/* We do not support priority protection for robust mutexes.  */
-# define _POSIX_THREAD_ROBUST_PRIO_PROTECT	-1
-#endif
-
-/* We support POSIX.1b semaphores.  */
-#define _POSIX_SEMAPHORES			200809L
-
-/* Real-time signals are supported. ???  */
-#define _POSIX_REALTIME_SIGNALS			200809L
-
-/* We support asynchronous I/O.  */
-#define _POSIX_ASYNCHRONOUS_IO			200809L
-#define _POSIX_ASYNC_IO				1
-/* Alternative name for Unix98.  */
-#define _LFS_ASYNCHRONOUS_IO			1
-/* Support for prioritization is not available.  */
-#define _POSIX_PRIORITIZED_IO			-1
-
-/* The LFS support in asynchronous I/O is also available.  */
-#define _LFS64_ASYNCHRONOUS_IO			1
-
-/* The rest of the LFS is also available.  */
-#define _LFS_LARGEFILE				1
-#define _LFS64_LARGEFILE			1
-#define _LFS64_STDIO				1
-
-/* POSIX shared memory objects are implemented.  */
-#define _POSIX_SHARED_MEMORY_OBJECTS		200809L
-
-/* Process CPU-time clocks are not supported.  */
-#define _POSIX_CPUTIME				-1
-
-/* Thread CPU-time locks are supported.  */
-#define _POSIX_THREAD_CPUTIME			200809L
-
-/* GNU libc provides regular expression handling.  */
-#define _POSIX_REGEXP				1
-
-/* Reader/Writer locks are available.  */
-#define _POSIX_READER_WRITER_LOCKS		200809L
-
-/* We have a POSIX shell.  */
-#define _POSIX_SHELL				1
-
-/* We support the Timeouts option.  */
-#define _POSIX_TIMEOUTS				200809L
-
-/* We support spinlocks.  */
-#define _POSIX_SPIN_LOCKS			200809L
-
-/* The `spawn' function family is supported.  */
-#define _POSIX_SPAWN				200809L
-
-/* We have POSIX timers.  */
-#define _POSIX_TIMERS				200809L
-
-/* The barrier functions are available.  */
-#define _POSIX_BARRIERS				200809L
-
-/* POSIX message queues are not available.  */
-#define	_POSIX_MESSAGE_PASSING			-1
-
-/* Thread process-shared synchronization is not supported.  */
-#define _POSIX_THREAD_PROCESS_SHARED		-1
-
-/* The monotonic clock is available.  */
-#define _POSIX_MONOTONIC_CLOCK			200809L
-
-/* The clock selection interfaces are available.  ??? Actually only
-   clock_nanosleep works, and pthread_condattr_setclock does not.  */
-#define _POSIX_CLOCK_SELECTION			200809L
-
-/* Advisory information interfaces are available.  */
-#define _POSIX_ADVISORY_INFO			200809L
-
-/* IPv6 support is available.  */
-#define _POSIX_IPV6				200809L
-
-/* Raw socket support is available.  */
-#define _POSIX_RAW_SOCKETS			200809L
-
-/* We have at least one terminal.  */
-#define _POSIX2_CHAR_TERM			200809L
-
-/* Neither process nor thread sporadic server interfaces is available.  */
-#define _POSIX_SPORADIC_SERVER			-1
-#define _POSIX_THREAD_SPORADIC_SERVER		-1
-
-/* trace.h is not available.  */
-#define _POSIX_TRACE				-1
-#define _POSIX_TRACE_EVENT_FILTER		-1
-#define _POSIX_TRACE_INHERIT			-1
-#define _POSIX_TRACE_LOG			-1
-
-/* Typed memory objects are not available.  */
-#define _POSIX_TYPED_MEMORY_OBJECTS		-1
-
-#endif /* bits/posix_opt.h */
diff --git a/sysdeps/nacl/bits/stat.h b/sysdeps/nacl/bits/stat.h
deleted file mode 100644
index 246e3b3..0000000
--- a/sysdeps/nacl/bits/stat.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* 'struct stat' and related definitions.  NaCl version.
-   Copyright (C) 2015-2017 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 _SYS_STAT_H && !defined _FCNTL_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-#ifndef _BITS_STAT_H
-#define _BITS_STAT_H	1
-
-/* Versions of the `struct stat' data structure.  */
-#define _STAT_VER_NACL		0
-#define _STAT_VER_LINUX		1
-
-#define _STAT_VER		_STAT_VER_LINUX
-
-struct stat
-  {
-    __dev_t st_dev;		/* Device.  */
-    __ino_t st_ino;		/* File serial number.	*/
-    __nlink_t st_nlink;		/* Link count.  */
-    __mode_t st_mode;		/* File mode.  */
-    __uid_t st_uid;		/* User ID of the file's owner.	*/
-    __gid_t st_gid;		/* Group ID of the file's group.*/
-    int __pad0;
-    __dev_t st_rdev;		/* Device number, if device.  */
-    __off_t st_size;		/* Size of file, in bytes.  */
-    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
-    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
-#if defined __USE_XOPEN2K8
-    /* 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.  */
-    __uint64_t st_atimensec;            /* Nsecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    __uint64_t st_mtimensec;            /* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    __uint64_t st_ctimensec;            /* Nsecs of last status change.  */
-#endif
-    __int64_t __unused[3];
-  };
-
-#ifdef __USE_LARGEFILE64
-/* Note stat64 has the same shape as stat for NaCl.  */
-struct stat64
-  {
-    __dev_t st_dev;		/* Device.  */
-    __ino_t st_ino;		/* File serial number.	*/
-    __nlink_t st_nlink;		/* Link count.  */
-    __mode_t st_mode;		/* File mode.  */
-    __uid_t st_uid;		/* User ID of the file's owner.	*/
-    __gid_t st_gid;		/* Group ID of the file's group.*/
-    int __pad0;
-    __dev_t st_rdev;		/* Device number, if device.  */
-    __off_t st_size;		/* Size of file, in bytes.  */
-    __blksize_t st_blksize;	/* Optimal block size for I/O.  */
-    __blkcnt_t st_blocks;		/* Number 512-byte blocks allocated. */
-# if defined __USE_XOPEN2K8
-    /* 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.  */
-    __uint64_t st_atimensec;            /* Nsecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    __uint64_t st_mtimensec;            /* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    __uint64_t st_ctimensec;            /* Nsecs of last status change.  */
-# endif
-    __int64_t __unused[3];
-  };
-#endif
-
-/* Tell code we have these members.  */
-#define	_STATBUF_ST_BLKSIZE	1
-#define _STATBUF_ST_RDEV	1
-/* Nanosecond resolution time values are supported.  */
-#define _STATBUF_ST_NSEC	1
-
-/* 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
-/* XXX missing: UTIME_NOW, UTIME_OMIT */
-#endif
-
-#endif	/* bits/stat.h */
diff --git a/sysdeps/nacl/bits/typesizes.h b/sysdeps/nacl/bits/typesizes.h
deleted file mode 100644
index 5e4ce5d..0000000
--- a/sysdeps/nacl/bits/typesizes.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t.  NaCl version.
-   Copyright (C) 2015-2017 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 _BITS_TYPES_H
-# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
-#endif
-
-#ifndef	_BITS_TYPESIZES_H
-#define	_BITS_TYPESIZES_H	1
-
-/* See <bits/types.h> for the meaning of these macros.  This file exists so
-   that <bits/types.h> need not vary across different GNU platforms.  */
-
-#define __DEV_T_TYPE		__UQUAD_TYPE
-#define __UID_T_TYPE		__U32_TYPE
-#define __GID_T_TYPE		__U32_TYPE
-#define __INO_T_TYPE		__UQUAD_TYPE
-#define __INO64_T_TYPE		__INO_T_TYPE
-#define __MODE_T_TYPE		__U32_TYPE
-#define __NLINK_T_TYPE		__UWORD_TYPE
-#define __OFF_T_TYPE		__SQUAD_TYPE
-#define __OFF64_T_TYPE		__OFF_T_TYPE
-#define __PID_T_TYPE		__S32_TYPE
-#define __RLIM_T_TYPE		__UQUAD_TYPE
-#define __RLIM64_T_TYPE		__RLIM_T_TYPE
-#define	__BLKCNT_T_TYPE		__SQUAD_TYPE
-#define	__BLKCNT64_T_TYPE	__BLKCNT_T_TYPE
-#define	__FSBLKCNT_T_TYPE	__UQUAD_TYPE
-#define	__FSBLKCNT64_T_TYPE	__FSBLKCNT_T_TYPE
-#define	__FSFILCNT_T_TYPE	__UQUAD_TYPE
-#define	__FSFILCNT64_T_TYPE	__FSFILCNT_T_TYPE
-#define	__FSWORD_T_TYPE		__SWORD_TYPE
-#define	__ID_T_TYPE		__U32_TYPE
-#define __CLOCK_T_TYPE		__SLONGWORD_TYPE
-#define __TIME_T_TYPE		__SQUAD_TYPE
-#define __USECONDS_T_TYPE	__U32_TYPE
-#define __SUSECONDS_T_TYPE	__SLONGWORD_TYPE
-#define __DADDR_T_TYPE		__S32_TYPE
-#define __KEY_T_TYPE		__S32_TYPE
-#define __CLOCKID_T_TYPE	__S32_TYPE
-#define __TIMER_T_TYPE		void *
-#define __BLKSIZE_T_TYPE	__SLONGWORD_TYPE
-#define __FSID_T_TYPE		struct { int __val[2]; }
-#define __SSIZE_T_TYPE		__SWORD_TYPE
-#define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
-#define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
-#define __CPU_MASK_TYPE 	__ULONGWORD_TYPE
-
-/* All our foo64_t types match their foo_t counterparts.  */
-#define __OFF_T_MATCHES_OFF64_T	1
-#define __INO_T_MATCHES_INO64_T	1
-
-/* Number of descriptors that can fit in an `fd_set'.  */
-#define	__FD_SETSIZE		1024
-
-
-#endif /* bits/typesizes.h */
diff --git a/sysdeps/nacl/brk.c b/sysdeps/nacl/brk.c
deleted file mode 100644
index c96c66f..0000000
--- a/sysdeps/nacl/brk.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* brk -- Adjust the "break" at the end of initial data.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <stdint.h>
-#include <sys/mman.h>
-#include <sys/param.h>
-#include <unistd.h>
-
-/* sbrk.c expects this.  */
-void *__curbrk;
-
-static uintptr_t
-page_above (void *addr)
-{
-  return ALIGN_UP ((uintptr_t) addr, EXEC_PAGESIZE);
-}
-
-/* Set the end of the process's data space to ADDR.
-   Return 0 if successful, -1 if not.  */
-int
-__brk (void *addr)
-{
-  /* The NaCl sysbrk call is deprecated, so we do not use it here.  Other
-     libc code expects that __sbrk can be used at least a little bit, so
-     rather than a plain stub we have a minimal __brk implementation here.
-     It just uses mmap/munmap to grow or shrink the break area, punting as
-     soon as mmap fails to use the same contiguous area.  */
-
-  if (__glibc_unlikely (__curbrk == NULL))
-    {
-      /* This is the first call.  We must initialize the record
-         of the current position.  It starts out at the end of the
-         main program's data segment.  */
-
-      /* XXX dynamic case??? */
-      extern char _end[];
-      __curbrk = _end;
-    }
-
-  if (__glibc_unlikely (addr == NULL))
-    /* This is a call just to ensure that __curbrk is set up.  */
-    return 0;
-
-  uintptr_t old_limit = page_above (__curbrk);
-  uintptr_t new_limit = page_above (addr);
-
-  if (old_limit > new_limit)
-    {
-      /* We're shrinking the old heap enough to release some pages.  */
-      if (__munmap ((void *) new_limit, old_limit - new_limit) != 0)
-	return -1;
-    }
-  else if (old_limit < new_limit)
-    {
-      /* We're growing the old heap enough to need some more pages.
-	 See if they are available.  */
-      void *new_space = __mmap ((void *) old_limit, new_limit - old_limit,
-				PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
-      if (new_space != (void *) old_limit)
-	{
-          if (new_space != MAP_FAILED)
-            {
-              /* mmap chose some different place for the pages
-                 because the contiguous area was not available.
-                 Oh well.  We can't use that.  */
-              __munmap (new_space, new_limit - old_limit);
-              __set_errno (ENOMEM);
-            }
-	  return -1;
-	}
-    }
-
-  __curbrk = addr;
-  return 0;
-}
-weak_alias (__brk, brk)
diff --git a/sysdeps/nacl/chdir.c b/sysdeps/nacl/chdir.c
deleted file mode 100644
index 8b96e87..0000000
--- a/sysdeps/nacl/chdir.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Change current working directory.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Change the current directory to PATH.  */
-int
-__chdir (const char *path)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.chdir (path), 0);
-}
-weak_alias (__chdir, chdir)
diff --git a/sysdeps/nacl/check_fds.c b/sysdeps/nacl/check_fds.c
deleted file mode 100644
index d70bc8f..0000000
--- a/sysdeps/nacl/check_fds.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Check inherited file descriptors for sanity at startup.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-/* Nothing to do here.  */
-void
-__libc_check_standard_fds (void)
-{
-}
diff --git a/sysdeps/nacl/chmod.c b/sysdeps/nacl/chmod.c
deleted file mode 100644
index bbb7017..0000000
--- a/sysdeps/nacl/chmod.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Change a file's permissions.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Change the protections of FILE to MODE.  */
-int
-__chmod (const char *file, mode_t mode)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.chmod (file, mode), 0);
-}
-weak_alias (__chmod, chmod)
diff --git a/sysdeps/nacl/clock.c b/sysdeps/nacl/clock.c
deleted file mode 100644
index 43c0e53..0000000
--- a/sysdeps/nacl/clock.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Return the time used by the program so far.  NaCl version.
-   Copyright (C) 2015-2017 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 <time.h>
-#include <nacl-interfaces.h>
-
-
-/* Return the time used by the program so far (user time + system time).  */
-clock_t
-clock (void)
-{
-  nacl_irt_clock_t result;
-  return NACL_CALL (__nacl_irt_basic.clock (&result), result);
-}
diff --git a/sysdeps/nacl/clock_getres.c b/sysdeps/nacl/clock_getres.c
deleted file mode 100644
index d625b7c..0000000
--- a/sysdeps/nacl/clock_getres.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Get the resolution of a clock.  NaCl version.
-   Copyright (C) 2015-2017 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 <time.h>
-#include <nacl-interfaces.h>
-
-/* Get resolution of clock.  */
-int
-__clock_getres (clockid_t clock_id, struct timespec *res)
-{
-  return NACL_CALL (__nacl_irt_clock.clock_getres (clock_id, res), 0);
-}
-weak_alias (__clock_getres, clock_getres)
diff --git a/sysdeps/nacl/clock_gettime.c b/sysdeps/nacl/clock_gettime.c
deleted file mode 100644
index 7612a6e..0000000
--- a/sysdeps/nacl/clock_gettime.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Get the current value of a clock.  NaCl version.
-   Copyright (C) 2015-2017 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 <time.h>
-#include <nacl-interfaces.h>
-
-/* Get current value of CLOCK and store it in TP.  */
-int
-__clock_gettime (clockid_t clock_id, struct timespec *tp)
-{
-  return NACL_CALL (__nacl_irt_clock.clock_gettime (clock_id, tp), 0);
-}
-libc_hidden_def (__clock_gettime)
-weak_alias (__clock_gettime, clock_gettime)
diff --git a/sysdeps/nacl/close.c b/sysdeps/nacl/close.c
deleted file mode 100644
index 9ada439..0000000
--- a/sysdeps/nacl/close.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Close a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-
-/* Close the file descriptor FD.  */
-int
-__close (int fd)
-{
-  return NACL_CALL (__nacl_irt_fdio.close (fd), 0);
-}
-libc_hidden_def (__close)
-strong_alias (__close, __libc_close)
-weak_alias (__close, close)
diff --git a/sysdeps/nacl/configure b/sysdeps/nacl/configure
deleted file mode 100644
index 6bc753b..0000000
--- a/sysdeps/nacl/configure
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/nacl.
-
-nacl_probe_file=native_client/src/trusted/service_runtime/include/sys/errno.h
-
-# sysheaders is set by the --with-headers=... option to configure.
-# For NaCl, we require that the option be given and point to the
-# native_client/.. source tree directory.
-test -n "$sysheaders" || {
-  as_fn_error $? "must supply --with-headers=DIR with native_client source tree" "$LINENO" 5
-}
-test -r "$sysheaders/$nacl_probe_file" || {
-  as_fn_error $? "$sysheaders does not appear to be a native_client source tree" "$LINENO" 5
-}
-
-# nscd is extremely useless in the NaCl context.
-build_nscd=no
-use_nscd=no
diff --git a/sysdeps/nacl/configure.ac b/sysdeps/nacl/configure.ac
deleted file mode 100644
index 2c6f29f..0000000
--- a/sysdeps/nacl/configure.ac
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/nacl.
-
-nacl_probe_file=native_client/src/trusted/service_runtime/include/sys/errno.h
-
-# sysheaders is set by the --with-headers=... option to configure.
-# For NaCl, we require that the option be given and point to the
-# native_client/.. source tree directory.
-test -n "$sysheaders" || {
-  AC_MSG_ERROR([must supply --with-headers=DIR with native_client source tree])
-}
-test -r "$sysheaders/$nacl_probe_file" || {
-  AC_MSG_ERROR([$sysheaders does not appear to be a native_client source tree])
-}
-
-# nscd is extremely useless in the NaCl context.
-build_nscd=no
-use_nscd=no
diff --git a/sysdeps/nacl/createthread.c b/sysdeps/nacl/createthread.c
deleted file mode 100644
index 87466dc..0000000
--- a/sysdeps/nacl/createthread.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Low-level thread creation for NPTL.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-#include <pthread-pids.h>
-
-/* See the comments in pthread_create.c for the requirements for these
-   two macros and the create_thread function.  */
-
-#define START_THREAD_DEFN \
-  static void __attribute__ ((noreturn)) start_thread (void)
-#define START_THREAD_SELF THREAD_SELF
-
-/* pthread_create.c defines this using START_THREAD_DEFN
-   We need a forward declaration here so we can take its address.  */
-static void start_thread (void) __attribute__ ((noreturn));
-
-static int
-create_thread (struct pthread *pd, const struct pthread_attr *attr,
-	       bool *stopped_start, STACK_VARIABLES_PARMS, bool *thread_ran)
-{
-  pd->tid = __nacl_get_tid (pd);
-
-  pd->stopped_start = *stopped_start;
-  if (__glibc_unlikely (*stopped_start))
-    /* See CONCURRENCY NOTES in nptl/pthread_create.c.  */
-    lll_lock (pd->lock, LLL_PRIVATE);
-
-  TLS_DEFINE_INIT_TP (tp, pd);
-
-  return __nacl_irt_thread.thread_create (&start_thread, stackaddr, tp);
-}
diff --git a/sysdeps/nacl/dl-fileid.h b/sysdeps/nacl/dl-fileid.h
deleted file mode 100644
index 4c34581..0000000
--- a/sysdeps/nacl/dl-fileid.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Bypass sysdeps/posix/dl-fileid.h, which relies on st_dev/st_ino being
-   reliable.  Under NaCl, we cannot always expect them to be useful.
-   Fortunately, in the ways NaCl is used it's far less likely that two
-   different names for the same file would be used in dlopen or the like,
-   so failing to notice re-opening the same file is not so likely to be a
-   problem in practice.  */
-
-#include <sysdeps/generic/dl-fileid.h>
diff --git a/sysdeps/nacl/dl-map-segments.h b/sysdeps/nacl/dl-map-segments.h
deleted file mode 100644
index ab2ad43..0000000
--- a/sysdeps/nacl/dl-map-segments.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Map in a shared object's segments.  NaCl version.
-   Copyright (C) 2015-2017 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 _NACL_DL_MAP_SEGMENTS_H
-#define _NACL_DL_MAP_SEGMENTS_H 1
-
-#include <assert.h>
-#include <dl-load.h>
-#include <errno.h>
-#include <stdbool.h>
-#include <unistd.h>
-#include <libc-pointer-arith.h>
-
-
-/* This is basically pread, but with iteration after short reads.  */
-static bool
-read_in_data (int fd, void *data, size_t len, off_t pos)
-{
-  if (__glibc_unlikely (__lseek (fd, pos, SEEK_SET) == (off_t) -1))
-    return true;
-  while (len > 0)
-    {
-      ssize_t n = __read (fd, data, len);
-      if (__glibc_unlikely (n < 0))
-	return true;
-      if (__glibc_unlikely (n == 0))
-	{
-	  errno = EFTYPE;
-	  return true;
-	}
-      data += n;
-      len -= n;
-    }
-  return false;
-}
-
-static const char *
-_dl_map_segments (struct link_map *l, int fd,
-		  const ElfW(Ehdr) *header, int type,
-		  const struct loadcmd loadcmds[], size_t nloadcmds,
-		  const size_t maplength, bool has_holes,
-		  struct link_map *loader)
-{
-  if (__glibc_likely (type == ET_DYN))
-    {
-      /* This is a position-independent shared object.  Let the system
-	 choose where to place it.
-
-	 As a refinement, sometimes we have an address that we would
-	 prefer to map such objects at; but this is only a preference,
-	 the OS can do whatever it likes. */
-      ElfW(Addr) mappref
-	= (ELF_PREFERRED_ADDRESS (loader, maplength,
-				  loadcmds[0].mapstart & GLRO(dl_use_load_bias))
-	   - MAP_BASE_ADDR (l));
-
-      uintptr_t mapstart;
-      if (__glibc_likely (loadcmds[0].prot & PROT_EXEC))
-	{
-	  /* When there is a code segment, we must use the
-	     allocate_code_data interface to choose a location.  */
-
-	  uintptr_t code_size = loadcmds[0].allocend - loadcmds[0].mapstart;
-	  uintptr_t data_offset;
-	  size_t data_size;
-
-	  if (__glibc_likely (nloadcmds > 1))
-	    {
-	      data_offset = loadcmds[1].mapstart - loadcmds[0].mapstart;
-	      data_size = ALIGN_UP (maplength - data_offset,
-				    GLRO(dl_pagesize));
-	    }
-	  else
-	    {
-	      data_offset = 0;
-	      data_size = 0;
-	    }
-
-	  int error = __nacl_irt_code_data_alloc.allocate_code_data
-	    (mappref, code_size, data_offset, data_size, &mapstart);
-	  if (__glibc_unlikely (error))
-	    {
-	      errno = error;
-	      return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-	    }
-	}
-      else
-	{
-	  /* With no code pages involved, plain mmap works fine.  */
-	  void *mapped = __mmap ((void *) mappref, maplength,
-				 PROT_NONE, MAP_ANON, -1, 0);
-	  if (__glibc_unlikely (mapped == MAP_FAILED))
-	    return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-	  mapstart = (uintptr_t) mapped;
-	}
-
-      l->l_addr = mapstart - loadcmds[0].mapstart;
-    }
-
-  /* Remember which part of the address space this object uses.  */
-  l->l_map_start = loadcmds[0].mapstart + l->l_addr;
-  l->l_map_end = l->l_map_start + maplength;
-  l->l_contiguous = !has_holes;
-
-  /* Now actually map (or read) in each segment.  */
-  for (const struct loadcmd *c = loadcmds; c < &loadcmds[nloadcmds]; ++c)
-    if (__glibc_likely (c->mapend > c->mapstart))
-      {
-	/* Unlike POSIX mmap, NaCl's mmap does not reliably handle COW
-	   faults in the remainder of the final partial page.  So to get
-	   the expected behavior for the unaligned boundary between data
-	   and bss, it's necessary to allocate the final partial page of
-	   data as anonymous memory rather than mapping it from the file.  */
-
-	size_t maplen = c->mapend - c->mapstart;
-	if (c->mapend > c->dataend && c->allocend > c->dataend)
-	  maplen = (c->dataend & -GLRO(dl_pagesize)) - c->mapstart;
-
-	/* Map the segment contents from the file.  */
-	if (__glibc_unlikely (__mmap ((void *) (l->l_addr + c->mapstart),
-				      maplen, c->prot,
-				      MAP_FIXED|MAP_COPY|MAP_FILE,
-				      fd, c->mapoff)
-			      == MAP_FAILED))
-	  {
-	    switch (errno)
-	      {
-	      case EINVAL:
-	      case ENOTSUP:
-	      case ENOSYS:
-		break;
-	      default:
-		return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-	      }
-
-	    /* No mmap support for this file.  */
-	    if (c->prot & PROT_EXEC)
-	      {
-		/* Read the data into a temporary buffer.  */
-		const size_t len = c->mapend - c->mapstart;
-		void *data = __mmap (NULL, len, PROT_READ | PROT_WRITE,
-				     MAP_ANON|MAP_PRIVATE, -1, 0);
-		if (__glibc_unlikely (data == MAP_FAILED))
-		  return DL_MAP_SEGMENTS_ERROR_MAP_ZERO_FILL;
-		if (read_in_data (fd, data, len, c->mapoff))
-		  return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-		/* Now validate and install the code.  */
-		int error = __nacl_irt_dyncode.dyncode_create
-		  ((void *) (l->l_addr + c->mapstart), data, len);
-		__munmap (data, len);
-		if (__glibc_unlikely (error))
-		  {
-		    errno = error;
-		    return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-		  }
-                if (__glibc_unlikely (type != ET_DYN))
-                  {
-                    /* A successful PROT_EXEC mmap would have implicitly
-                       updated the bookkeeping so that a future
-                       allocate_code_data call would know that this range
-                       of the address space is already occupied.  That
-                       doesn't happen implicitly with dyncode_create, so
-                       it's necessary to do an explicit call to update the
-                       bookkeeping.  */
-                    uintptr_t allocated_address;
-                    error = __nacl_irt_code_data_alloc.allocate_code_data
-                      (l->l_addr + c->mapstart, len, 0, 0, &allocated_address);
-                    if (__glibc_unlikely (error))
-                      {
-                        errno = error;
-                        return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-                      }
-                    if (__glibc_unlikely
-                        (allocated_address != l->l_addr + c->mapstart))
-                      {
-                        /* This is not a very helpful error for this case,
-                           but there isn't really anything better to use.  */
-                        errno = ENOMEM;
-                        return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-                      }
-                  }
-	      }
-	    else
-	      {
-		/* Allocate the pages.  */
-		if (__mmap ((void *) (l->l_addr + c->mapstart),
-			    c->mapend - c->mapstart, c->prot | PROT_WRITE,
-			    MAP_FIXED|MAP_ANON|MAP_PRIVATE, -1, 0)
-		    == MAP_FAILED)
-		  return DL_MAP_SEGMENTS_ERROR_MAP_ZERO_FILL;
-		/* Now read in the data.  */
-		if (read_in_data (fd, (void *) (l->l_addr + c->mapstart),
-				  c->dataend - c->mapstart, c->mapoff))
-		  return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-		/* Now that we've filled the pages, reset the page
-		   protections to what they should be.  */
-		if (!(c->prot & PROT_WRITE)
-		    && __mprotect ((void *) (l->l_addr + c->mapstart),
-				   c->mapend - c->mapstart, c->prot) < 0)
-		  return DL_MAP_SEGMENTS_ERROR_MPROTECT;
-	      }
-	  }
-	else if (c->allocend > c->dataend)
-	  {
-	    /* Extra zero pages should appear at the end of this segment,
-	       after the data mapped from the file.   */
-
-	    uintptr_t allocend = c->mapend;
-	    if (c->mapend > c->dataend)
-	      {
-		/* The final data page was partial.  So we didn't map it in.
-		   Instead, we must allocate an anonymous page to fill.  */
-		if (c->prot & PROT_WRITE)
-		  /* Do the whole allocation right here.  */
-		  allocend = c->allocend;
-		if (__mmap ((void *) (l->l_addr + c->mapstart + maplen),
-			    allocend - (c->mapstart + maplen), c->prot,
-			    MAP_FIXED|MAP_ANON|MAP_PRIVATE, -1, 0)
-		    == MAP_FAILED)
-		  return DL_MAP_SEGMENTS_ERROR_MAP_ZERO_FILL;
-		if (read_in_data (fd,
-				  (void *) (l->l_addr + c->mapstart + maplen),
-				  c->dataend & (GLRO(dl_pagesize) - 1),
-				  c->mapoff + maplen))
-		  return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-		/* Now that we've filled the page, reset its
-		   protections to what they should be.  */
-		if (!(c->prot & PROT_WRITE)
-		    && __mprotect ((void *) (l->l_addr + c->mapstart + maplen),
-				   c->mapend - (c->mapstart + maplen),
-				   c->prot) < 0)
-		  return DL_MAP_SEGMENTS_ERROR_MPROTECT;
-	      }
-
-	    /* Now allocate the pure zero-fill pages.  */
-	    if (allocend < c->allocend
-		&& (__mmap ((void *) (l->l_addr + c->mapstart + allocend),
-			   c->allocend - (c->mapstart + allocend), c->prot,
-			   MAP_FIXED|MAP_ANON|MAP_PRIVATE, -1, 0)
-		    == MAP_FAILED))
-	      return DL_MAP_SEGMENTS_ERROR_MAP_ZERO_FILL;
-	  }
-
-	_dl_postprocess_loadcmd (l, header, c);
-      }
-
-  /* Notify ELF_PREFERRED_ADDRESS that we have to load this one
-     fixed.  */
-  ELF_FIXED_ADDRESS (loader, c->mapstart);
-
-  return NULL;
-}
-
-#endif /* dl-map-segments.h */
diff --git a/sysdeps/nacl/dl-osinfo.h b/sysdeps/nacl/dl-osinfo.h
deleted file mode 100644
index eb29d42..0000000
--- a/sysdeps/nacl/dl-osinfo.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* DL_SYSDEP_OSCHECK macro for NaCl.
-   Copyright (C) 2015-2017 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 _DL_OSINFO_H
-#define _DL_OSINFO_H  1
-
-#include <sysdeps/generic/dl-osinfo.h>
-
-#include "nacl-interfaces.h"
-
-#ifndef SHARED
-/* This doesn't really have anything to do with the purpose for
-   which this macro is used in Linux configurations.  But it is
-   called at the right place in __libc_start_main.  */
-# define DL_SYSDEP_OSCHECK(fatal)	__nacl_initialize_interfaces ()
-#endif
-
-
-#endif /* dl-osinfo.h */
diff --git a/sysdeps/nacl/dl-sysdep-open.h b/sysdeps/nacl/dl-sysdep-open.h
deleted file mode 100644
index a9a56b8..0000000
--- a/sysdeps/nacl/dl-sysdep-open.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* System-specific call to open a shared object by name.  NaCl version.
-   Copyright (C) 2015-2017 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 _DL_SYSDEP_OPEN_H
-#define _DL_SYSDEP_OPEN_H	1
-
-#include <stddef.h>
-
-/* NAME is a name without slashes, as it appears in a DT_NEEDED entry
-   or a dlopen call's argument or suchlike.  NAMELEN is (strlen (NAME) + 1).
-
-   Find NAME in an OS-dependent fashion, and return its "real" name.
-   Optionally fill in *FD with a file descriptor open on that file (or
-   else leave its initial value of -1).  The return value is a new
-   malloc'd string, which will be free'd by the caller.  If NAME is
-   resolved to an actual file that can be opened, then the return
-   value should name that file (and if *FD was not set, then a normal
-   __open call on that string will be made).  If *FD was set by some
-   other means than a normal open and there is no "real" name to use,
-   then __strdup (NAME) is fine (modulo error checking).  */
-
-extern char *_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
-  internal_function attribute_hidden;
-
-#endif  /* dl-sysdep-open.h */
diff --git a/sysdeps/nacl/dl-sysdep.c b/sysdeps/nacl/dl-sysdep.c
deleted file mode 100644
index a2e388b..0000000
--- a/sysdeps/nacl/dl-sysdep.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Operating system support for run-time dynamic linker.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-#ifdef SHARED
-
-# include <assert.h>
-# include <ldsodefs.h>
-# include <stdint.h>
-# include <nacl-interfaces.h>
-
-/* NaCl's elf32.h is incompatible with the real <elf.h>.  */
-# define NATIVE_CLIENT_SRC_INCLUDE_ELF32_H_
-# include <native_client/src/untrusted/nacl/nacl_startup.h>
-
-/* The RTLD_START code sets up the pointer that gets to these
-   macros as COOKIE to point to two words:
-   [0] the argument to the entry point from the system (see nacl_startup.h)
-   [1] the stack base
-*/
-
-# define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp)	\
-  do {								\
-    uint32_t *_info = ((void **) (cookie))[0];			\
-    (argc) = nacl_startup_argc (_info);				\
-    (argv) = nacl_startup_argv (_info);				\
-    (envp) = nacl_startup_envp (_info);				\
-    (auxp) = nacl_startup_auxv (_info);				\
-  } while (0)
-
-# define DL_STACK_END(cookie)	(((void **) (cookie))[1])
-
-/* This is called from the entry point (_start), defined by the RTLD_START
-   macro in the machine-specific dl-machine.h file.  At this point, dynamic
-   linking has been completed and the first argument is the application's
-   entry point.  */
-attribute_hidden internal_function __attribute__ ((noreturn))
-void
-_dl_start_user (void (*user_entry) (uint32_t info[]), uint32_t info[])
-{
-  if (_dl_skip_args > 0)
-    {
-      /* There are some arguments that the user program should not see.
-	 Just slide up the INFO pointer so its NACL_STARTUP_ARGV points
-	 to what should now be argv[0], and copy back the earlier fields.  */
-      assert (nacl_startup_argc (info) >= _dl_skip_args);
-      assert (NACL_STARTUP_ARGV == 3);
-      uint32_t envc = info[NACL_STARTUP_ENVC];
-      uint32_t argc = info[NACL_STARTUP_ARGC];
-      info += _dl_skip_args;
-      info[NACL_STARTUP_ENVC] = envc;
-      info[NACL_STARTUP_ARGC] = argc - _dl_skip_args;
-    }
-
-  /* Pass our finalizer function to the user.  */
-  info[NACL_STARTUP_FINI] = (uintptr_t) &_dl_fini;
-
-  /* Run initializers.  */
-  _dl_init (GL(dl_ns)[0]._ns_loaded,
-	    nacl_startup_argc (info),
-	    nacl_startup_argv (info),
-	    nacl_startup_envp (info));
-
-  /* Call the user's entry point.  This should never return.  */
-  (*user_entry) (info);
-
-  /* Fail clearly just in case it did return.  */
-  __builtin_trap ();
-}
-
-# define DL_SYSDEP_INIT	__nacl_initialize_interfaces ()
-
-#endif  /* SHARED */
-
-#include <elf/dl-sysdep.c>
-
-#include <dl-sysdep-open.h>
-#include <nacl-interfaces.h>
-#include <assert.h>
-#include <string.h>
-#include <unistd.h>
-
-char *
-internal_function
-_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
-{
-  int error = __nacl_irt_resource_open.open_resource (name, fd);
-  if (error)
-    return NULL;
-  assert (*fd != -1);
-  char *realname = __strdup (name);
-  if (__glibc_unlikely (realname == NULL))
-    {
-      __close (*fd);
-      *fd = -1;
-    }
-  return realname;
-}
diff --git a/sysdeps/nacl/dl-sysdep.h b/sysdeps/nacl/dl-sysdep.h
deleted file mode 100644
index c3016d0..0000000
--- a/sysdeps/nacl/dl-sysdep.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* System-specific settings for dynamic linker code.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-/* No multiple inclusion protection needed here because it's just macros.
-   We don't want to use _DL_SYSDEP_H in case we are #include_next'd.  */
-
-#include_next <dl-sysdep.h>
-
-/* We use AT_SYSINFO for a different purpose than Linux does,
-   but we too want to store its value.  */
-#define NEED_DL_SYSINFO         1
-#define DL_SYSINFO_DEFAULT      0
-
-/* sysdeps/arm/dl-sysdep.h defines this but it does not apply to NaCl.  */
-#undef  DL_ARGV_NOT_RELRO
diff --git a/sysdeps/nacl/dl-unmap-segments.h b/sysdeps/nacl/dl-unmap-segments.h
deleted file mode 100644
index 6d44a7e..0000000
--- a/sysdeps/nacl/dl-unmap-segments.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Unmap a shared object's segments.  NaCl version.
-   Copyright (C) 2015-2017 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 _DL_UNMAP_SEGMENTS_H
-#define _DL_UNMAP_SEGMENTS_H    1
-
-#include <link.h>
-#include <sys/mman.h>
-
-/* There is always a big gap between the executable segment and the data
-   segments.  Other code segments and data pages lie in there.  So we must
-   unmap each segment individually (except for a codeless module).  */
-
-static void __always_inline
-_dl_unmap_segments (struct link_map *l)
-{
-  if (l->l_contiguous)
-    /* Simple case.  */
-    __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start);
-  else
-    {
-      /* Normally l_phdr points into the RODATA segment, which we will
-         unmap in one iteration of the loop.  So we cannot use it directly
-         throughout.  */
-
-      struct { ElfW(Addr) start, end; } segments[l->l_phnum], *seg = segments;
-
-      for (const ElfW(Phdr) *ph = l->l_phdr; ph < &l->l_phdr[l->l_phnum]; ++ph)
-        if (ph->p_type == PT_LOAD)
-          {
-            seg->start = (l->l_addr + ph->p_vaddr) & -GLRO(dl_pagesize);
-            seg->end = (l->l_addr + ph->p_vaddr + ph->p_memsz
-                        + GLRO(dl_pagesize) - 1) & -GLRO(dl_pagesize);
-            if (seg > segments && seg[-1].end == seg->start)
-              /* Coalesce two adjacent segments into one munmap call.  */
-              seg[-1].end = seg->end;
-            else
-              ++seg;
-          }
-
-      do
-        {
-          --seg;
-          __munmap ((void *) seg->start, seg->end - seg->start);
-        }
-      while (seg > segments);
-    }
-}
-
-#endif  /* dl-unmap-segments.h */
diff --git a/sysdeps/nacl/dl-writev.h b/sysdeps/nacl/dl-writev.h
deleted file mode 100644
index 35d0891..0000000
--- a/sysdeps/nacl/dl-writev.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Message-writing for the dynamic linker.  NaCl version.
-   Copyright (C) 2015-2017 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 <sys/uio.h>
-#include <nacl-interfaces.h>
-
-/* This is used from only one place: dl-misc.c:_dl_debug_vdprintf.
-   Hence it's in a header with the expectation it will be inlined.
-
-   This is writev, but with a constraint added and others loosened:
-
-   1. Under RTLD_PRIVATE_ERRNO, it must not clobber the private errno
-      when another thread holds the dl_load_lock.
-   2. It is not obliged to detect and report errors at all.
-   3. It's not really obliged to deliver a single atomic write
-      (though it may be preferable).  */
-
-static inline void
-_dl_writev (int fd, const struct iovec *iov, size_t niov)
-{
-  for (size_t i = 0; i < niov; ++i)
-    {
-      size_t wrote;
-      if (__nacl_irt_fdio.write (fd, iov[i].iov_base, iov[i].iov_len,
-                                 &wrote) != 0
-          || wrote != iov[i].iov_len)
-        /* The write failed, so don't bother trying any more.  */
-        break;
-    }
-}
diff --git a/sysdeps/nacl/dup.c b/sysdeps/nacl/dup.c
deleted file mode 100644
index 31618d5..0000000
--- a/sysdeps/nacl/dup.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Duplicate a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-
-/* Duplicate FD, returning a new file descriptor open on the same file.  */
-int
-__dup (int fd)
-{
-  int result;
-  return NACL_CALL (__nacl_irt_fdio.dup (fd, &result), result);
-}
-libc_hidden_def (__dup)
-weak_alias (__dup, dup)
diff --git a/sysdeps/nacl/dup2.c b/sysdeps/nacl/dup2.c
deleted file mode 100644
index 9ff73fa..0000000
--- a/sysdeps/nacl/dup2.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Duplicate a file descriptor to a chosen number.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-
-/* Duplicate FD to FD2, closing the old FD2 and making FD2 be
-   open the same file as FD is.  Return FD2 or -1.  */
-int
-__dup2 (int fd, int fd2)
-{
-  return NACL_CALL (__nacl_irt_fdio.dup2 (fd, fd2), fd2);
-}
-libc_hidden_def (__dup2)
-weak_alias (__dup2, dup2)
diff --git a/sysdeps/nacl/entry.h b/sysdeps/nacl/entry.h
deleted file mode 100644
index e9dc190..0000000
--- a/sysdeps/nacl/entry.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASSEMBLY__
-# include <stdint.h>
-extern void _start (uint32_t info[]) attribute_hidden;
-#endif
-
-#define ENTRY_POINT _start
diff --git a/sysdeps/nacl/errnos.awk b/sysdeps/nacl/errnos.awk
deleted file mode 100644
index 926d595..0000000
--- a/sysdeps/nacl/errnos.awk
+++ /dev/null
@@ -1,87 +0,0 @@
-# Script to produce bits/errno.h for NaCl.
-
-# Copyright (C) 2015-2017 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/>.
-
-BEGIN { maxerrno = 0 }
-
-$1 == "#define" && $2 ~ /NACL_ABI_E[A-Z0-9_]+/ && $3 ~ /[0-9]+/ {
-  ename = $2;
-  sub(/NACL_ABI_/, "", ename);
-  errno = $3 + 0;
-  if (errno > maxerrno) maxerrno = errno;
-  errnos[errno] = ename;
-  errnos_by_name[ename] = errno;
-  if ($4 == "/*" && !(ename in errno_text)) {
-    etext = $5;
-    for (i = 6; i <= NF && $i != "*/"; ++i)
-      etext = etext " " $i;
-    errno_text[ename] = etext;
-  }
-  next;
-}
-
-$1 == "@comment" && $2 == "errno.h" { errnoh=1; next }
-errnoh == 1 && $1 == "@comment" {
-  ++errnoh;
-  etext = $3;
-  for (i = 4; i <= NF; ++i)
-    etext = etext " " $i;
-  next;
-}
-errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" {
-  ename = $4;
-  errno_text[ename] = etext;
-  next;
-}
-
-function define_errno(errno, ename) {
-  etext = errno_text[ename];
-  if (length(ename) < 8) ename = ename "\t";
-  printf "#define\t%s\t%d\t/* %s */\n", ename, errno, etext;
-}
-
-END {
-  print "\
-/* This file generated by errnos.awk.  */\n\
-\n\
-#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath)\n\
-#undef	__need_Emath\n\
-#define	__Emath_defined	1";
-  emath["EDOM"] = emath["EILSEQ"] = emath["ERANGE"] = 1;
-  for (ename in emath) {
-    errno = errnos_by_name[ename];
-    define_errno(errno, ename);
-    delete errnos[errno];
-  }
-  print "\
-#endif\n\
-\n\
-#ifdef _ERRNO_H\n";
-
-  for (i = 1; i <= maxerrno; ++i)
-    if (i in errnos) define_errno(i, errnos[i]);
-
-  print "\n\
-#define	EWOULDBLOCK	EAGAIN\n\
-#define	ENOTSUP		EOPNOTSUPP\n\
-\n\
-extern __thread int errno __attribute__ ((__tls_model__ (\"initial-exec\")));\n\
-#define errno errno\n\
-\n\
-#endif";
-}
diff --git a/sysdeps/nacl/euidaccess.c b/sysdeps/nacl/euidaccess.c
deleted file mode 100644
index e87fe84..0000000
--- a/sysdeps/nacl/euidaccess.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Check file access permission.  NaCl version.
-   Copyright (C) 2015-2017 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>
-
-/* Test for access to FILE.  */
-int
-__euidaccess (const char *file, int type)
-{
-  /* No NaCl process will ever be set-ID, so access and euidaccess are one.  */
-  return __access (file, type);
-}
-weak_alias (__euidaccess, euidaccess)
-weak_alias (__euidaccess, eaccess)
diff --git a/sysdeps/nacl/exit-thread.h b/sysdeps/nacl/exit-thread.h
deleted file mode 100644
index b9dce6e..0000000
--- a/sysdeps/nacl/exit-thread.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Call to terminate the current thread.  NaCl version.
-   Copyright (C) 2015-2017 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 <assert.h>
-#include <atomic.h>
-#include <futex-internal.h>
-#include <nacl-interfaces.h>
-#include <nptl/pthreadP.h>
-
-/* This causes the current thread to exit, without affecting other
-   threads in the process if there are any.  If there are no other
-   threads left, then this has the effect of _exit (0).  */
-
-static inline void __attribute__ ((noreturn, always_inline, unused))
-__exit_thread (void)
-{
-  struct pthread *pd = THREAD_SELF;
-
-  /* The generic logic for pthread_join and stack/descriptor reuse is
-     based on the Linux kernel feature that will clear and futex-wake
-     a designated address as a final part of thread teardown.  Correct
-     synchronization relies on the fact that these happen only after
-     there is no possibility of user code touching or examining the
-     late thread's stack.
-
-     The NaCl system interface implements half of this: it clears a
-     word after the thread's user stack is safely dead, but it does
-     not futex-wake the location.  So, some shenanigans are required.
-     We change and futex-wake the location here, so as to wake up any
-     blocked pthread_join (i.e. lll_wait_tid) or pthread_timedjoin_np
-     (i.e. lll_timedwait_tid).  However, that's before we have safely
-     vacated the stack.  So instead of clearing the location, we set
-     it to a special magic value, NACL_EXITING_TID.  This counts as a
-     "live thread" value for all the generic logic, but is recognized
-     specially in lll_wait_tid and lll_timedwait_tid (lowlevellock.h).
-     Once it has this value, lll_wait_tid will busy-wait for the
-     location to be cleared to zero by the NaCl system code.  Only then
-     is the stack actually safe to reuse.  */
-
-  if (!IS_DETACHED (pd))
-    {
-      /* The magic value must not be one that could ever be a valid
-	 TID value.  See pthread-pids.h about the low bit.  */
-      assert (NACL_EXITING_TID & 1);
-
-      /* The magic value must not be one that has the "free" flag
-	 (i.e. sign bit) set.  If that bit is set, then the
-	 descriptor could be reused for a new thread.  */
-      assert (NACL_EXITING_TID > 0);
-
-      atomic_store_relaxed (&pd->tid, NACL_EXITING_TID);
-      futex_wake ((unsigned int *) &pd->tid, 1, FUTEX_PRIVATE);
-    }
-
-  /* This clears PD->tid some time after the thread stack can never
-     be touched again.  Unfortunately, it does not also do a
-     futex-wake at that time (as Linux does via CLONE_CHILD_CLEARTID
-     and set_tid_address).  So lll_wait_tid does some busy-waiting.  */
-  __nacl_irt_thread.thread_exit (&pd->tid);
-
-  /* That never returns unless something is severely and unrecoverably wrong.
-     If it ever does, try to make sure we crash.  */
-  while (1)
-    __builtin_trap ();
-}
diff --git a/sysdeps/nacl/fchdir.c b/sysdeps/nacl/fchdir.c
deleted file mode 100644
index 009110f..0000000
--- a/sysdeps/nacl/fchdir.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Change working directory given a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Change the current directory to FD.  */
-int
-__fchdir (int fd)
-{
-  return NACL_CALL (__nacl_irt_dev_fdio.fchdir (fd), 0);
-}
-weak_alias (__fchdir, fchdir)
diff --git a/sysdeps/nacl/fchmod.c b/sysdeps/nacl/fchmod.c
deleted file mode 100644
index 5f40973..0000000
--- a/sysdeps/nacl/fchmod.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Change a file's permissions given a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Change the permissions of the file referenced by FD to MODE.  */
-int
-__fchmod (int fd, mode_t mode)
-{
-  return NACL_CALL (__nacl_irt_dev_fdio.fchmod (fd, mode), 0);
-}
-weak_alias (__fchmod, fchmod)
diff --git a/sysdeps/nacl/fdatasync.c b/sysdeps/nacl/fdatasync.c
deleted file mode 100644
index bb89ae3..0000000
--- a/sysdeps/nacl/fdatasync.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Make all changes done to file data actually appear on disk.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Synchronize at least the data part of a file with the underlying
-   media.  */
-int
-fdatasync (int fd)
-{
-  return NACL_CALL (__nacl_irt_dev_fdio.fdatasync (fd), 0);
-}
diff --git a/sysdeps/nacl/fdopendir.c b/sysdeps/nacl/fdopendir.c
deleted file mode 100644
index cad72e3..0000000
--- a/sysdeps/nacl/fdopendir.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Open a directory stream from a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <assert.h>
-#include <fcntl.h>
-
-/* Since NaCl does not have a useful fcntl, stub it out.
-   fdopendir will not detect an fd open for writing only,
-   but readdir will fail with EBADF so that's close enough.  */
-
-#define __fcntl(fd, command)                    \
-  ({                                            \
-    assert ((command) == F_GETFL);              \
-    O_RDONLY;                                   \
-  })
-
-#include <sysdeps/posix/fdopendir.c>
diff --git a/sysdeps/nacl/fork.c b/sysdeps/nacl/fork.c
deleted file mode 100644
index 9f06944..0000000
--- a/sysdeps/nacl/fork.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Get the stub, bypassing the "generic" NPTL code.  */
-#include <posix/fork.c>
-strong_alias (__fork, __libc_fork)
diff --git a/sysdeps/nacl/fsync.c b/sysdeps/nacl/fsync.c
deleted file mode 100644
index cc877a0..0000000
--- a/sysdeps/nacl/fsync.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Make all changes done to FD actually appear on disk.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Make all changes done to FD actually appear on disk.  */
-int
-fsync (int fd)
-{
-  return NACL_CALL (__nacl_irt_dev_fdio.fsync (fd), 0);
-}
diff --git a/sysdeps/nacl/ftruncate.c b/sysdeps/nacl/ftruncate.c
deleted file mode 100644
index c38672c..0000000
--- a/sysdeps/nacl/ftruncate.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Truncate a file.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Truncate the file referenced by FD to LENGTH bytes.  */
-int
-__ftruncate (int fd, off_t length)
-{
-  return NACL_CALL (__nacl_irt_dev_fdio.ftruncate (fd, length), 0);
-}
-weak_alias (__ftruncate, ftruncate)
-
-/* ftruncate64 is the same as ftruncate.  */
-strong_alias (__ftruncate, __ftruncate64)
-weak_alias (__ftruncate64, ftruncate64)
diff --git a/sysdeps/nacl/ftruncate64.c b/sysdeps/nacl/ftruncate64.c
deleted file mode 100644
index e40129a..0000000
--- a/sysdeps/nacl/ftruncate64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* ftruncate64 is the same as ftruncate.  */
diff --git a/sysdeps/nacl/futex-internal.h b/sysdeps/nacl/futex-internal.h
deleted file mode 100644
index de99d2d..0000000
--- a/sysdeps/nacl/futex-internal.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/* futex operations for glibc-internal use.  NaCl version.
-   Copyright (C) 2014-2017 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 FUTEX_INTERNAL_H
-#define FUTEX_INTERNAL_H
-
-#include <sysdeps/nptl/futex-internal.h>
-#include <errno.h>
-#include <lowlevellock-futex.h>
-#include <nacl-interfaces.h>
-#include <nptl/pthreadP.h>
-
-/* See sysdeps/nptl/futex-internal.h for documentation; this file only
-   contains NaCl-specific comments.
-
-   There is no support yet for shared futexes nor for exact relative
-   timeouts.  */
-
-/* See sysdeps/nptl/futex-internal.h for constraints on the value of the
-   FUTEX_PRIVATE and FUTEX_SHARED constants.
-   Shared futexes are not yet supported, and we never allow clients to
-   actually request shared futexes.  Therefore, we do not need a different
-   value.  */
-#undef FUTEX_SHARED
-#define FUTEX_SHARED  FUTEX_PRIVATE
-
-/* FUTEX_SHARED is not yet supported.  */
-static __always_inline int
-futex_supports_pshared (int pshared)
-{
-  if (__glibc_likely (pshared == PTHREAD_PROCESS_PRIVATE))
-    return 0;
-  else if (pshared == PTHREAD_PROCESS_SHARED)
-    return ENOTSUP;
-  else
-    return EINVAL;
-}
-
-/* Relative timeouts are only emulated via absolute timeouts using the
-   system clock.  */
-static __always_inline bool
-futex_supports_exact_relative_timeouts (void)
-{
-  return false;
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_wait (unsigned int *futex_word, unsigned int expected, int private)
-{
-  int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
-  switch (err)
-    {
-    case 0:
-    case -EAGAIN:
-    case -EINTR:
-      return -err;
-
-    case -ETIMEDOUT: /* Cannot have happened as we provided no timeout.  */
-    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
-		     being normalized.  Must have been caused by a glibc or
-		     application bug.  */
-    case -ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_wait_cancelable (unsigned int *futex_word, unsigned int expected,
-		       int private)
-{
-  int oldtype;
-  oldtype = __pthread_enable_asynccancel ();
-  int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
-  __pthread_disable_asynccancel (oldtype);
-  switch (err)
-    {
-    case 0:
-    case -EAGAIN:
-    case -EINTR:
-      return -err;
-
-    case -ETIMEDOUT: /* Cannot have happened as we provided no timeout.  */
-    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
-		     being normalized.  Must have been caused by a glibc or
-		     application bug.  */
-    case -ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_reltimed_wait (unsigned int *futex_word, unsigned int expected,
-		     const struct timespec *reltime, int private)
-{
-  int err = lll_futex_timed_wait (futex_word, expected, reltime, private);
-  switch (err)
-    {
-    case 0:
-    case -EAGAIN:
-    case -EINTR:
-    case -ETIMEDOUT:
-      return -err;
-
-    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
-		     being normalized.  Must have been caused by a glibc or
-		     application bug.  */
-    case -ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_reltimed_wait_cancelable (unsigned int *futex_word,
-				unsigned int expected,
-			        const struct timespec *reltime, int private)
-{
-  int oldtype;
-  oldtype = __pthread_enable_asynccancel ();
-  int err = lll_futex_timed_wait (futex_word, expected, reltime, private);
-  __pthread_disable_asynccancel (oldtype);
-  switch (err)
-    {
-    case 0:
-    case -EAGAIN:
-    case -EINTR:
-    case -ETIMEDOUT:
-      return -err;
-
-    case -EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case -EINVAL: /* Either due to wrong alignment or due to the timeout not
-		     being normalized.  Must have been caused by a glibc or
-		     application bug.  */
-    case -ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_abstimed_wait (unsigned int *futex_word, unsigned int expected,
-		     const struct timespec *abstime, int private)
-{
-  int err = __nacl_irt_futex.futex_wait_abs ((volatile int *) futex_word,
-					     expected, abstime);
-  switch (err)
-    {
-    case 0:
-    case EAGAIN:
-    case EINTR:
-    case ETIMEDOUT:
-      return err;
-
-    case EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case EINVAL: /* Either due to wrong alignment or due to the timeout not
-		    being normalized.  Must have been caused by a glibc or
-		    application bug.  */
-    case ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline int
-futex_abstimed_wait_cancelable (unsigned int *futex_word,
-				unsigned int expected,
-			        const struct timespec *abstime, int private)
-{
-  int oldtype;
-  oldtype = __pthread_enable_asynccancel ();
-  int err = __nacl_irt_futex.futex_wait_abs ((volatile int *) futex_word,
-					     expected, abstime);
-  __pthread_disable_asynccancel (oldtype);
-  switch (err)
-    {
-    case 0:
-    case EAGAIN:
-    case EINTR:
-    case ETIMEDOUT:
-      return err;
-
-    case EFAULT: /* Must have been caused by a glibc or application bug.  */
-    case EINVAL: /* Either due to wrong alignment or due to the timeout not
-		    being normalized.  Must have been caused by a glibc or
-		    application bug.  */
-    case ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-/* See sysdeps/nptl/futex-internal.h for details.  */
-static __always_inline void
-futex_wake (unsigned int *futex_word, int processes_to_wake, int private)
-{
-  int res = lll_futex_wake (futex_word, processes_to_wake, private);
-  /* No error.  Ignore the number of woken processes.  */
-  if (res >= 0)
-    return;
-  switch (res)
-    {
-    case -EFAULT: /* Could have happened due to memory reuse.  */
-    case -EINVAL: /* Could be either due to incorrect alignment (a bug in
-		     glibc or in the application) or due to memory being
-		     reused for a PI futex.  We cannot distinguish between the
-		     two causes, and one of them is correct use, so we do not
-		     act in this case.  */
-      return;
-    case -ENOSYS: /* Must have been caused by a glibc bug.  */
-    /* No other errors are documented at this time.  */
-    default:
-      futex_fatal_error ();
-    }
-}
-
-#endif  /* futex-internal.h */
diff --git a/sysdeps/nacl/fxstat.c b/sysdeps/nacl/fxstat.c
deleted file mode 100644
index d98e541..0000000
--- a/sysdeps/nacl/fxstat.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Get stat information from a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-/* Avoid the declaration so the compiler doesn't complain about the alias
-   with a different type signature.  It doesn't know that 'struct stat'
-   and 'struct stat64' are ABI-compatible.  */
-#define __fxstat64 __fxstat64_avoid
-#include <sys/stat.h>
-#undef  __fxstat64
-
-#include <errno.h>
-#include <stddef.h>
-
-#include <xstatconv.h>
-
-#undef  fstat
-
-/* Get information about the file descriptor FD in BUF.  */
-int
-__fxstat (int vers, int fd, struct stat *buf)
-{
-  nacl_abi_stat_t abi_buf;
-  return NACL_CALL (__nacl_irt_fdio.fstat (fd, &abi_buf),
-                    __xstat_conv (vers, &abi_buf, buf));
-}
-hidden_def (__fxstat)
-weak_alias (__fxstat, _fxstat)
-
-strong_alias (__fxstat, __fxstat64)
-hidden_ver (__fxstat, __fxstat64)
diff --git a/sysdeps/nacl/fxstat64.c b/sysdeps/nacl/fxstat64.c
deleted file mode 100644
index 72aae12..0000000
--- a/sysdeps/nacl/fxstat64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* fxstat.c defines __fxstat64 as an alias.  */
diff --git a/sysdeps/nacl/getcwd.c b/sysdeps/nacl/getcwd.c
deleted file mode 100644
index b3cc7a6..0000000
--- a/sysdeps/nacl/getcwd.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Get current working directory.  NaCl version.
-   Copyright (C) 2015-2017 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 <limits.h>
-#include <stdlib.h>
-#include <nacl-interfaces.h>
-
-/* Get the pathname of the current working directory,
-   and put it in SIZE bytes of BUF.  Returns NULL if the
-   directory couldn't be determined or SIZE was too small.
-   If successful, returns BUF.  In GNU, if BUF is NULL,
-   an array is allocated with `malloc'; the array is SIZE
-   bytes long, unless SIZE <= 0, in which case it is as
-   big as necessary.  */
-char *
-__getcwd (char *buf, size_t size)
-{
-  char *use_buf = buf;
-
-  if (buf == NULL)
-    {
-      if (size == 0)
-        size = PATH_MAX;
-      use_buf = malloc (size);
-      if (__glibc_unlikely (use_buf == NULL))
-        return NULL;
-    }
-
-  int error = __nacl_irt_dev_filename.getcwd (use_buf, size);
-  if (__glibc_unlikely (error))
-    {
-      if (use_buf != buf)
-        free (use_buf);
-      errno = error;
-      return NULL;
-    }
-
-  return use_buf;
-}
-weak_alias (__getcwd, getcwd)
diff --git a/sysdeps/nacl/getdents.c b/sysdeps/nacl/getdents.c
deleted file mode 100644
index 6ca1f79..0000000
--- a/sysdeps/nacl/getdents.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Read directory entries from a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <dirent.h>
-#include <nacl-interfaces.h>
-
-ssize_t
-internal_function
-__getdents (int fd, char *buf, size_t nbytes)
-{
-  size_t nread;
-  return NACL_CALL (__nacl_irt_fdio.getdents (fd, (void *) buf, nbytes, &nread),
-                    nread);
-}
diff --git a/sysdeps/nacl/getdents64.c b/sysdeps/nacl/getdents64.c
deleted file mode 100644
index 7308618..0000000
--- a/sysdeps/nacl/getdents64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* We do not define a getdirentries or getdirentries64 entry point at all.  */
diff --git a/sysdeps/nacl/getdtsz.c b/sysdeps/nacl/getdtsz.c
deleted file mode 100644
index 9d396c8..0000000
--- a/sysdeps/nacl/getdtsz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* getdtablesize -- Return the limit on file descriptor values.  NaCl version.
-   Copyright (C) 2015-2017 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>
-
-/* Return the maximum number of file descriptors
-   the current process could possibly have.  */
-int
-__getdtablesize (void)
-{
-  /* There is no actual limit in NaCl, just memory.  */
-  return -1;
-}
-weak_alias (__getdtablesize, getdtablesize)
diff --git a/sysdeps/nacl/gethostname.c b/sysdeps/nacl/gethostname.c
deleted file mode 100644
index f35ca4c..0000000
--- a/sysdeps/nacl/gethostname.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Get current host's name.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-/* Put the name of the current host in no more than LEN bytes of NAME.
-   The result is null-terminated if LEN is large enough for the full
-   name and the terminator.  */
-int
-__gethostname (char *name, size_t len)
-{
-  static const char hostname[] = "naclhost";
-
-  int result = 0;
-  size_t copy = sizeof hostname;
-
-  if (len < copy)
-    {
-      errno = ENAMETOOLONG;
-      result = -1;
-      copy = len;
-    }
-
-  memcpy (name, hostname, copy);
-
-  return result;
-}
-weak_alias (__gethostname, gethostname)
diff --git a/sysdeps/nacl/getpagesize.c b/sysdeps/nacl/getpagesize.c
deleted file mode 100644
index 0be1ccf..0000000
--- a/sysdeps/nacl/getpagesize.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/getpagesize.c>
diff --git a/sysdeps/nacl/getpid.c b/sysdeps/nacl/getpid.c
deleted file mode 100644
index 357c72b..0000000
--- a/sysdeps/nacl/getpid.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Get the process ID of the calling process.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <unistd.h>
-#include <nacl-interfaces.h>
-
-/* Get the process ID of the calling process.  */
-pid_t
-__getpid (void)
-{
-  int pid;
-  return NACL_CALL (__nacl_irt_dev_getpid.getpid (&pid), pid);
-}
-libc_hidden_def (__getpid)
-weak_alias (__getpid, getpid)
-libc_hidden_weak (getpid)
diff --git a/sysdeps/nacl/getsysstats.c b/sysdeps/nacl/getsysstats.c
deleted file mode 100644
index 888357d..0000000
--- a/sysdeps/nacl/getsysstats.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* getsysstats - Determine various system internal values.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <sys/sysinfo.h>
-#include <nacl-interfaces.h>
-
-#undef __native_client__
-#include "native_client/src/trusted/service_runtime/include/sys/unistd.h"
-
-
-int
-__get_nprocs_conf (void)
-{
-  int nprocs;
-  if (__nacl_irt_basic.sysconf (NACL_ABI__SC_NPROCESSORS_ONLN, &nprocs) != 0)
-    /* On failure (which should be impossible), just report one processor.  */
-    nprocs = 1;
-  return nprocs;
-}
-weak_alias (__get_nprocs_conf, get_nprocs_conf)
-
-int
-__get_nprocs (void)
-{
-  return __get_nprocs_conf ();
-}
-weak_alias (__get_nprocs, get_nprocs)
-
-
-long int
-__get_phys_pages (void)
-{
-  /* We have no general way to determine this value.  */
-  __set_errno (ENOSYS);
-  return -1;
-}
-weak_alias (__get_phys_pages, get_phys_pages)
-stub_warning (get_phys_pages)
-
-
-long int
-__get_avphys_pages (void)
-{
-  /* We have no general way to determine this value.  */
-  __set_errno (ENOSYS);
-  return -1;
-}
-weak_alias (__get_avphys_pages, get_avphys_pages)
-stub_warning (get_avphys_pages)
diff --git a/sysdeps/nacl/gettimeofday.c b/sysdeps/nacl/gettimeofday.c
deleted file mode 100644
index 20d57aa..0000000
--- a/sysdeps/nacl/gettimeofday.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Get the current wall clock time.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <sys/time.h>
-#include <nacl-interfaces.h>
-
-
-/* Get the current time of day and timezone information,
-   putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
-   Returns 0 on success, -1 on errors.  */
-int
-__gettimeofday (struct timeval *tv, struct timezone *tz)
-{
-  if (__glibc_unlikely (tz != NULL))
-    {
-      tz->tz_minuteswest = 0;
-      tz->tz_dsttime = 0;
-    }
-
-  return NACL_CALL (__nacl_irt_basic.gettod (tv), 0);
-}
-libc_hidden_def (__gettimeofday)
-weak_alias (__gettimeofday, gettimeofday)
-libc_hidden_weak (gettimeofday)
diff --git a/sysdeps/nacl/glob.c b/sysdeps/nacl/glob.c
deleted file mode 100644
index be2ee03..0000000
--- a/sysdeps/nacl/glob.c
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Fetch the version that defines glob64 as an alias.  */
-#include <sysdeps/wordsize-64/glob.c>
diff --git a/sysdeps/nacl/glob64.c b/sysdeps/nacl/glob64.c
deleted file mode 100644
index adca2d4..0000000
--- a/sysdeps/nacl/glob64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/glob64.c>
diff --git a/sysdeps/nacl/ifaddrs.c b/sysdeps/nacl/ifaddrs.c
deleted file mode 100644
index 0e64851..0000000
--- a/sysdeps/nacl/ifaddrs.c
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Bypass the sysdeps/gnu version to get the plain stub.  */
-#include <inet/ifaddrs.c>
diff --git a/sysdeps/nacl/init-first.c b/sysdeps/nacl/init-first.c
deleted file mode 100644
index 07b579c..0000000
--- a/sysdeps/nacl/init-first.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Initialization code run first thing by the ELF startup code.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-#ifdef SHARED
-
-# include <nacl-interfaces.h>
-
-# define VDSO_SETUP     __nacl_initialize_interfaces
-
-#endif
-
-#include <csu/init-first.c>
diff --git a/sysdeps/nacl/iofdopen.c b/sysdeps/nacl/iofdopen.c
deleted file mode 100644
index 17e38b8..0000000
--- a/sysdeps/nacl/iofdopen.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Open a stream from a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <fcntl.h>
-
-/* NaCl does not have a functioning fcntl, so don't use the stub and fail.  */
-#undef  F_GETFL
-#undef  F_SETFL
-#define __fcntl(...)    ???should not be called???
-
-#include <libio/iofdopen.c>
diff --git a/sysdeps/nacl/irt.sed b/sysdeps/nacl/irt.sed
deleted file mode 100644
index 0abe177..0000000
--- a/sysdeps/nacl/irt.sed
+++ /dev/null
@@ -1,12 +0,0 @@
-# This sed script massages native_client/src/untrusted/irt/irt.h into
-# the nacl-irt.h used to build libc, by rewriting foo_t and struct bar
-# to nacl_abi_foo_t and nacl_abi_bar_t (and eliding forward declarations).
-# It doesn't perturb any struct CamelCaps cases, since such names will
-# be used only in NaCl-specific interfaces.
-/^struct \([a-z][a-z]*\);$/d
-/^#include "irt\.h"$/d
-/(/!b
-s/\([a-z0-9_][a-z0-9_]*\)_t\>/nacl_abi_\1_t/g
-s/struct \([a-z0-9_][a-z0-9_]*\)/nacl_abi_\1_t/g
-s/nacl_abi_\(u*int[3264ptr]*_t\)/\1/g
-s/nacl_abi_\(nacl_irt_\)/\1/g
diff --git a/sysdeps/nacl/isatty.c b/sysdeps/nacl/isatty.c
deleted file mode 100644
index 9748921..0000000
--- a/sysdeps/nacl/isatty.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Determine if a file descriptor refers to a terminal.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <unistd.h>
-#include <nacl-interfaces.h>
-
-/* Return 1 if FD is a terminal, 0 if not.  */
-int
-__isatty (int fd)
-{
-  int result;
-  int error = __nacl_irt_dev_fdio.isatty (fd, &result);
-  if (error == 0)
-    {
-      if (result)
-	return 1;
-      error = ENOTTY;
-    }
-  errno = error;
-  return 0;
-}
-weak_alias (__isatty, isatty)
diff --git a/sysdeps/nacl/kernel-features.h b/sysdeps/nacl/kernel-features.h
deleted file mode 100644
index ba315b6..0000000
--- a/sysdeps/nacl/kernel-features.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Set flags signalling availability of certain operating system features.
-   Copyright (C) 2015-2017 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 can define __ASSUME_* macros checked by certain source files.
-   Almost none of these are used outside of sysdeps/unix/sysv/linux code.
-   But those referring to POSIX-level features like O_* flags can be.  */
diff --git a/sysdeps/nacl/ld.abilist b/sysdeps/nacl/ld.abilist
deleted file mode 100644
index 0a52a24..0000000
--- a/sysdeps/nacl/ld.abilist
+++ /dev/null
@@ -1,10 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 __libc_stack_end D 0x4
-GLIBC_2.22 __stack_chk_guard D 0x4
-GLIBC_2.22 __tls_get_addr F
-GLIBC_2.22 _dl_mcount F
-GLIBC_2.22 _r_debug D 0x14
-GLIBC_2.22 calloc F
-GLIBC_2.22 free F
-GLIBC_2.22 malloc F
-GLIBC_2.22 realloc F
diff --git a/sysdeps/nacl/ldsodefs.h b/sysdeps/nacl/ldsodefs.h
deleted file mode 100644
index bdbcbab..0000000
--- a/sysdeps/nacl/ldsodefs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects.  NaCl.
-   Copyright (C) 2015-2017 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	_LDSODEFS_H
-
-/* We have the auxiliary vector.  */
-#define HAVE_AUX_VECTOR	1
-
-/* Get the real definitions.  */
-#include_next <ldsodefs.h>
-
-/* Now define our stuff.  */
-
-/* Used by static binaries to check the auxiliary vector.  */
-extern void _dl_aux_init (ElfW(auxv_t) *av) internal_function;
-
-/* Initialization which is normally done by the dynamic linker.  */
-extern void _dl_non_dynamic_init (void) internal_function;
-
-#endif  /* ldsodefs.h */
diff --git a/sysdeps/nacl/libBrokenLocale.abilist b/sysdeps/nacl/libBrokenLocale.abilist
deleted file mode 100644
index 4c14da7..0000000
--- a/sysdeps/nacl/libBrokenLocale.abilist
+++ /dev/null
@@ -1,2 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 __ctype_get_mb_cur_max F
diff --git a/sysdeps/nacl/libanl.abilist b/sysdeps/nacl/libanl.abilist
deleted file mode 100644
index ab6f9d2..0000000
--- a/sysdeps/nacl/libanl.abilist
+++ /dev/null
@@ -1,5 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 gai_cancel F
-GLIBC_2.22 gai_error F
-GLIBC_2.22 gai_suspend F
-GLIBC_2.22 getaddrinfo_a F
diff --git a/sysdeps/nacl/libc-start.c b/sysdeps/nacl/libc-start.c
deleted file mode 100644
index dadd180..0000000
--- a/sysdeps/nacl/libc-start.c
+++ /dev/null
@@ -1,4 +0,0 @@
-/* We can compute the location of auxv without a loop, so we might as well
-   pass it in.  */
-#define LIBC_START_MAIN_AUXVEC_ARG
-#include <csu/libc-start.c>
diff --git a/sysdeps/nacl/libcrypt.abilist b/sysdeps/nacl/libcrypt.abilist
deleted file mode 100644
index 9bb645f..0000000
--- a/sysdeps/nacl/libcrypt.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 crypt F
-GLIBC_2.22 crypt_r F
-GLIBC_2.22 encrypt F
-GLIBC_2.22 encrypt_r F
-GLIBC_2.22 fcrypt F
-GLIBC_2.22 setkey F
-GLIBC_2.22 setkey_r F
diff --git a/sysdeps/nacl/libdl.abilist b/sysdeps/nacl/libdl.abilist
deleted file mode 100644
index 863946e..0000000
--- a/sysdeps/nacl/libdl.abilist
+++ /dev/null
@@ -1,10 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 dladdr F
-GLIBC_2.22 dladdr1 F
-GLIBC_2.22 dlclose F
-GLIBC_2.22 dlerror F
-GLIBC_2.22 dlinfo F
-GLIBC_2.22 dlmopen F
-GLIBC_2.22 dlopen F
-GLIBC_2.22 dlsym F
-GLIBC_2.22 dlvsym F
diff --git a/sysdeps/nacl/libm.abilist b/sysdeps/nacl/libm.abilist
deleted file mode 100644
index 82bdf2c..0000000
--- a/sysdeps/nacl/libm.abilist
+++ /dev/null
@@ -1,430 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 _LIB_VERSION D 0x4
-GLIBC_2.22 __acos_finite F
-GLIBC_2.22 __acosf_finite F
-GLIBC_2.22 __acosh_finite F
-GLIBC_2.22 __acoshf_finite F
-GLIBC_2.22 __asin_finite F
-GLIBC_2.22 __asinf_finite F
-GLIBC_2.22 __atan2_finite F
-GLIBC_2.22 __atan2f_finite F
-GLIBC_2.22 __atanh_finite F
-GLIBC_2.22 __atanhf_finite F
-GLIBC_2.22 __clog10 F
-GLIBC_2.22 __clog10f F
-GLIBC_2.22 __clog10l F
-GLIBC_2.22 __cosh_finite F
-GLIBC_2.22 __coshf_finite F
-GLIBC_2.22 __exp10_finite F
-GLIBC_2.22 __exp10f_finite F
-GLIBC_2.22 __exp2_finite F
-GLIBC_2.22 __exp2f_finite F
-GLIBC_2.22 __exp_finite F
-GLIBC_2.22 __expf_finite F
-GLIBC_2.22 __finite F
-GLIBC_2.22 __finitef F
-GLIBC_2.22 __finitel F
-GLIBC_2.22 __fmod_finite F
-GLIBC_2.22 __fmodf_finite F
-GLIBC_2.22 __fpclassify F
-GLIBC_2.22 __fpclassifyf F
-GLIBC_2.22 __gamma_r_finite F
-GLIBC_2.22 __gammaf_r_finite F
-GLIBC_2.22 __hypot_finite F
-GLIBC_2.22 __hypotf_finite F
-GLIBC_2.22 __issignaling F
-GLIBC_2.22 __issignalingf F
-GLIBC_2.22 __j0_finite F
-GLIBC_2.22 __j0f_finite F
-GLIBC_2.22 __j1_finite F
-GLIBC_2.22 __j1f_finite F
-GLIBC_2.22 __jn_finite F
-GLIBC_2.22 __jnf_finite F
-GLIBC_2.22 __lgamma_r_finite F
-GLIBC_2.22 __lgammaf_r_finite F
-GLIBC_2.22 __log10_finite F
-GLIBC_2.22 __log10f_finite F
-GLIBC_2.22 __log2_finite F
-GLIBC_2.22 __log2f_finite F
-GLIBC_2.22 __log_finite F
-GLIBC_2.22 __logf_finite F
-GLIBC_2.22 __pow_finite F
-GLIBC_2.22 __powf_finite F
-GLIBC_2.22 __remainder_finite F
-GLIBC_2.22 __remainderf_finite F
-GLIBC_2.22 __scalb_finite F
-GLIBC_2.22 __scalbf_finite F
-GLIBC_2.22 __signbit F
-GLIBC_2.22 __signbitf F
-GLIBC_2.22 __sinh_finite F
-GLIBC_2.22 __sinhf_finite F
-GLIBC_2.22 __sqrt_finite F
-GLIBC_2.22 __sqrtf_finite F
-GLIBC_2.22 __y0_finite F
-GLIBC_2.22 __y0f_finite F
-GLIBC_2.22 __y1_finite F
-GLIBC_2.22 __y1f_finite F
-GLIBC_2.22 __yn_finite F
-GLIBC_2.22 __ynf_finite F
-GLIBC_2.22 acos F
-GLIBC_2.22 acosf F
-GLIBC_2.22 acosh F
-GLIBC_2.22 acoshf F
-GLIBC_2.22 acoshl F
-GLIBC_2.22 acosl F
-GLIBC_2.22 asin F
-GLIBC_2.22 asinf F
-GLIBC_2.22 asinh F
-GLIBC_2.22 asinhf F
-GLIBC_2.22 asinhl F
-GLIBC_2.22 asinl F
-GLIBC_2.22 atan F
-GLIBC_2.22 atan2 F
-GLIBC_2.22 atan2f F
-GLIBC_2.22 atan2l F
-GLIBC_2.22 atanf F
-GLIBC_2.22 atanh F
-GLIBC_2.22 atanhf F
-GLIBC_2.22 atanhl F
-GLIBC_2.22 atanl F
-GLIBC_2.22 cabs F
-GLIBC_2.22 cabsf F
-GLIBC_2.22 cabsl F
-GLIBC_2.22 cacos F
-GLIBC_2.22 cacosf F
-GLIBC_2.22 cacosh F
-GLIBC_2.22 cacoshf F
-GLIBC_2.22 cacoshl F
-GLIBC_2.22 cacosl F
-GLIBC_2.22 carg F
-GLIBC_2.22 cargf F
-GLIBC_2.22 cargl F
-GLIBC_2.22 casin F
-GLIBC_2.22 casinf F
-GLIBC_2.22 casinh F
-GLIBC_2.22 casinhf F
-GLIBC_2.22 casinhl F
-GLIBC_2.22 casinl F
-GLIBC_2.22 catan F
-GLIBC_2.22 catanf F
-GLIBC_2.22 catanh F
-GLIBC_2.22 catanhf F
-GLIBC_2.22 catanhl F
-GLIBC_2.22 catanl F
-GLIBC_2.22 cbrt F
-GLIBC_2.22 cbrtf F
-GLIBC_2.22 cbrtl F
-GLIBC_2.22 ccos F
-GLIBC_2.22 ccosf F
-GLIBC_2.22 ccosh F
-GLIBC_2.22 ccoshf F
-GLIBC_2.22 ccoshl F
-GLIBC_2.22 ccosl F
-GLIBC_2.22 ceil F
-GLIBC_2.22 ceilf F
-GLIBC_2.22 ceill F
-GLIBC_2.22 cexp F
-GLIBC_2.22 cexpf F
-GLIBC_2.22 cexpl F
-GLIBC_2.22 cimag F
-GLIBC_2.22 cimagf F
-GLIBC_2.22 cimagl F
-GLIBC_2.22 clog F
-GLIBC_2.22 clog10 F
-GLIBC_2.22 clog10f F
-GLIBC_2.22 clog10l F
-GLIBC_2.22 clogf F
-GLIBC_2.22 clogl F
-GLIBC_2.22 conj F
-GLIBC_2.22 conjf F
-GLIBC_2.22 conjl F
-GLIBC_2.22 copysign F
-GLIBC_2.22 copysignf F
-GLIBC_2.22 copysignl F
-GLIBC_2.22 cos F
-GLIBC_2.22 cosf F
-GLIBC_2.22 cosh F
-GLIBC_2.22 coshf F
-GLIBC_2.22 coshl F
-GLIBC_2.22 cosl F
-GLIBC_2.22 cpow F
-GLIBC_2.22 cpowf F
-GLIBC_2.22 cpowl F
-GLIBC_2.22 cproj F
-GLIBC_2.22 cprojf F
-GLIBC_2.22 cprojl F
-GLIBC_2.22 creal F
-GLIBC_2.22 crealf F
-GLIBC_2.22 creall F
-GLIBC_2.22 csin F
-GLIBC_2.22 csinf F
-GLIBC_2.22 csinh F
-GLIBC_2.22 csinhf F
-GLIBC_2.22 csinhl F
-GLIBC_2.22 csinl F
-GLIBC_2.22 csqrt F
-GLIBC_2.22 csqrtf F
-GLIBC_2.22 csqrtl F
-GLIBC_2.22 ctan F
-GLIBC_2.22 ctanf F
-GLIBC_2.22 ctanh F
-GLIBC_2.22 ctanhf F
-GLIBC_2.22 ctanhl F
-GLIBC_2.22 ctanl F
-GLIBC_2.22 drem F
-GLIBC_2.22 dremf F
-GLIBC_2.22 dreml F
-GLIBC_2.22 erf F
-GLIBC_2.22 erfc F
-GLIBC_2.22 erfcf F
-GLIBC_2.22 erfcl F
-GLIBC_2.22 erff F
-GLIBC_2.22 erfl F
-GLIBC_2.22 exp F
-GLIBC_2.22 exp10 F
-GLIBC_2.22 exp10f F
-GLIBC_2.22 exp10l F
-GLIBC_2.22 exp2 F
-GLIBC_2.22 exp2f F
-GLIBC_2.22 exp2l F
-GLIBC_2.22 expf F
-GLIBC_2.22 expl F
-GLIBC_2.22 expm1 F
-GLIBC_2.22 expm1f F
-GLIBC_2.22 expm1l F
-GLIBC_2.22 fabs F
-GLIBC_2.22 fabsf F
-GLIBC_2.22 fabsl F
-GLIBC_2.22 fdim F
-GLIBC_2.22 fdimf F
-GLIBC_2.22 fdiml F
-GLIBC_2.22 feclearexcept F
-GLIBC_2.22 fedisableexcept F
-GLIBC_2.22 feenableexcept F
-GLIBC_2.22 fegetenv F
-GLIBC_2.22 fegetexcept F
-GLIBC_2.22 fegetexceptflag F
-GLIBC_2.22 fegetround F
-GLIBC_2.22 feholdexcept F
-GLIBC_2.22 feraiseexcept F
-GLIBC_2.22 fesetenv F
-GLIBC_2.22 fesetexceptflag F
-GLIBC_2.22 fesetround F
-GLIBC_2.22 fetestexcept F
-GLIBC_2.22 feupdateenv F
-GLIBC_2.22 finite F
-GLIBC_2.22 finitef F
-GLIBC_2.22 finitel F
-GLIBC_2.22 floor F
-GLIBC_2.22 floorf F
-GLIBC_2.22 floorl F
-GLIBC_2.22 fma F
-GLIBC_2.22 fmaf F
-GLIBC_2.22 fmal F
-GLIBC_2.22 fmax F
-GLIBC_2.22 fmaxf F
-GLIBC_2.22 fmaxl F
-GLIBC_2.22 fmin F
-GLIBC_2.22 fminf F
-GLIBC_2.22 fminl F
-GLIBC_2.22 fmod F
-GLIBC_2.22 fmodf F
-GLIBC_2.22 fmodl F
-GLIBC_2.22 frexp F
-GLIBC_2.22 frexpf F
-GLIBC_2.22 frexpl F
-GLIBC_2.22 gamma F
-GLIBC_2.22 gammaf F
-GLIBC_2.22 gammal F
-GLIBC_2.22 hypot F
-GLIBC_2.22 hypotf F
-GLIBC_2.22 hypotl F
-GLIBC_2.22 ilogb F
-GLIBC_2.22 ilogbf F
-GLIBC_2.22 ilogbl F
-GLIBC_2.22 j0 F
-GLIBC_2.22 j0f F
-GLIBC_2.22 j0l F
-GLIBC_2.22 j1 F
-GLIBC_2.22 j1f F
-GLIBC_2.22 j1l F
-GLIBC_2.22 jn F
-GLIBC_2.22 jnf F
-GLIBC_2.22 jnl F
-GLIBC_2.22 ldexp F
-GLIBC_2.22 ldexpf F
-GLIBC_2.22 ldexpl F
-GLIBC_2.22 lgamma F
-GLIBC_2.22 lgamma_r F
-GLIBC_2.22 lgammaf F
-GLIBC_2.22 lgammaf_r F
-GLIBC_2.22 lgammal F
-GLIBC_2.22 lgammal_r F
-GLIBC_2.22 llrint F
-GLIBC_2.22 llrintf F
-GLIBC_2.22 llrintl F
-GLIBC_2.22 llround F
-GLIBC_2.22 llroundf F
-GLIBC_2.22 llroundl F
-GLIBC_2.22 log F
-GLIBC_2.22 log10 F
-GLIBC_2.22 log10f F
-GLIBC_2.22 log10l F
-GLIBC_2.22 log1p F
-GLIBC_2.22 log1pf F
-GLIBC_2.22 log1pl F
-GLIBC_2.22 log2 F
-GLIBC_2.22 log2f F
-GLIBC_2.22 log2l F
-GLIBC_2.22 logb F
-GLIBC_2.22 logbf F
-GLIBC_2.22 logbl F
-GLIBC_2.22 logf F
-GLIBC_2.22 logl F
-GLIBC_2.22 lrint F
-GLIBC_2.22 lrintf F
-GLIBC_2.22 lrintl F
-GLIBC_2.22 lround F
-GLIBC_2.22 lroundf F
-GLIBC_2.22 lroundl F
-GLIBC_2.22 matherr F
-GLIBC_2.22 modf F
-GLIBC_2.22 modff F
-GLIBC_2.22 modfl F
-GLIBC_2.22 nan F
-GLIBC_2.22 nanf F
-GLIBC_2.22 nanl F
-GLIBC_2.22 nearbyint F
-GLIBC_2.22 nearbyintf F
-GLIBC_2.22 nearbyintl F
-GLIBC_2.22 nextafter F
-GLIBC_2.22 nextafterf F
-GLIBC_2.22 nextafterl F
-GLIBC_2.22 nexttoward F
-GLIBC_2.22 nexttowardf F
-GLIBC_2.22 nexttowardl F
-GLIBC_2.22 pow F
-GLIBC_2.22 pow10 F
-GLIBC_2.22 pow10f F
-GLIBC_2.22 pow10l F
-GLIBC_2.22 powf F
-GLIBC_2.22 powl F
-GLIBC_2.22 remainder F
-GLIBC_2.22 remainderf F
-GLIBC_2.22 remainderl F
-GLIBC_2.22 remquo F
-GLIBC_2.22 remquof F
-GLIBC_2.22 remquol F
-GLIBC_2.22 rint F
-GLIBC_2.22 rintf F
-GLIBC_2.22 rintl F
-GLIBC_2.22 round F
-GLIBC_2.22 roundf F
-GLIBC_2.22 roundl F
-GLIBC_2.22 scalb F
-GLIBC_2.22 scalbf F
-GLIBC_2.22 scalbl F
-GLIBC_2.22 scalbln F
-GLIBC_2.22 scalblnf F
-GLIBC_2.22 scalblnl F
-GLIBC_2.22 scalbn F
-GLIBC_2.22 scalbnf F
-GLIBC_2.22 scalbnl F
-GLIBC_2.22 signgam D 0x4
-GLIBC_2.22 significand F
-GLIBC_2.22 significandf F
-GLIBC_2.22 significandl F
-GLIBC_2.22 sin F
-GLIBC_2.22 sincos F
-GLIBC_2.22 sincosf F
-GLIBC_2.22 sincosl F
-GLIBC_2.22 sinf F
-GLIBC_2.22 sinh F
-GLIBC_2.22 sinhf F
-GLIBC_2.22 sinhl F
-GLIBC_2.22 sinl F
-GLIBC_2.22 sqrt F
-GLIBC_2.22 sqrtf F
-GLIBC_2.22 sqrtl F
-GLIBC_2.22 tan F
-GLIBC_2.22 tanf F
-GLIBC_2.22 tanh F
-GLIBC_2.22 tanhf F
-GLIBC_2.22 tanhl F
-GLIBC_2.22 tanl F
-GLIBC_2.22 tgamma F
-GLIBC_2.22 tgammaf F
-GLIBC_2.22 tgammal F
-GLIBC_2.22 trunc F
-GLIBC_2.22 truncf F
-GLIBC_2.22 truncl F
-GLIBC_2.22 y0 F
-GLIBC_2.22 y0f F
-GLIBC_2.22 y0l F
-GLIBC_2.22 y1 F
-GLIBC_2.22 y1f F
-GLIBC_2.22 y1l F
-GLIBC_2.22 yn F
-GLIBC_2.22 ynf F
-GLIBC_2.22 ynl F
-GLIBC_2.23 GLIBC_2.23 A
-GLIBC_2.23 __signgam D 0x4
-GLIBC_2.23 lgamma F
-GLIBC_2.23 lgammaf F
-GLIBC_2.23 lgammal F
-GLIBC_2.24 GLIBC_2.24 A
-GLIBC_2.24 nextdown F
-GLIBC_2.24 nextdownf F
-GLIBC_2.24 nextdownl F
-GLIBC_2.24 nextup F
-GLIBC_2.24 nextupf F
-GLIBC_2.24 nextupl F
-GLIBC_2.25 GLIBC_2.25 A
-GLIBC_2.25 __iseqsig F
-GLIBC_2.25 __iseqsigf F
-GLIBC_2.25 canonicalize F
-GLIBC_2.25 canonicalizef F
-GLIBC_2.25 canonicalizel F
-GLIBC_2.25 fegetmode F
-GLIBC_2.25 fesetexcept F
-GLIBC_2.25 fesetmode F
-GLIBC_2.25 fetestexceptflag F
-GLIBC_2.25 fmaxmag F
-GLIBC_2.25 fmaxmagf F
-GLIBC_2.25 fmaxmagl F
-GLIBC_2.25 fminmag F
-GLIBC_2.25 fminmagf F
-GLIBC_2.25 fminmagl F
-GLIBC_2.25 fromfp F
-GLIBC_2.25 fromfpf F
-GLIBC_2.25 fromfpl F
-GLIBC_2.25 fromfpx F
-GLIBC_2.25 fromfpxf F
-GLIBC_2.25 fromfpxl F
-GLIBC_2.25 getpayload F
-GLIBC_2.25 getpayloadf F
-GLIBC_2.25 getpayloadl F
-GLIBC_2.25 llogb F
-GLIBC_2.25 llogbf F
-GLIBC_2.25 llogbl F
-GLIBC_2.25 roundeven F
-GLIBC_2.25 roundevenf F
-GLIBC_2.25 roundevenl F
-GLIBC_2.25 setpayload F
-GLIBC_2.25 setpayloadf F
-GLIBC_2.25 setpayloadl F
-GLIBC_2.25 setpayloadsig F
-GLIBC_2.25 setpayloadsigf F
-GLIBC_2.25 setpayloadsigl F
-GLIBC_2.25 totalorder F
-GLIBC_2.25 totalorderf F
-GLIBC_2.25 totalorderl F
-GLIBC_2.25 totalordermag F
-GLIBC_2.25 totalordermagf F
-GLIBC_2.25 totalordermagl F
-GLIBC_2.25 ufromfp F
-GLIBC_2.25 ufromfpf F
-GLIBC_2.25 ufromfpl F
-GLIBC_2.25 ufromfpx F
-GLIBC_2.25 ufromfpxf F
-GLIBC_2.25 ufromfpxl F
diff --git a/sysdeps/nacl/libpthread.abilist b/sysdeps/nacl/libpthread.abilist
deleted file mode 100644
index 8f0099c..0000000
--- a/sysdeps/nacl/libpthread.abilist
+++ /dev/null
@@ -1,175 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 _IO_flockfile F
-GLIBC_2.22 _IO_ftrylockfile F
-GLIBC_2.22 _IO_funlockfile F
-GLIBC_2.22 __errno_location F
-GLIBC_2.22 __h_errno_location F
-GLIBC_2.22 __libc_allocate_rtsig F
-GLIBC_2.22 __libc_current_sigrtmax F
-GLIBC_2.22 __libc_current_sigrtmin F
-GLIBC_2.22 __pthread_cleanup_routine F
-GLIBC_2.22 __pthread_getspecific F
-GLIBC_2.22 __pthread_key_create F
-GLIBC_2.22 __pthread_mutex_destroy F
-GLIBC_2.22 __pthread_mutex_init F
-GLIBC_2.22 __pthread_mutex_lock F
-GLIBC_2.22 __pthread_mutex_trylock F
-GLIBC_2.22 __pthread_mutex_unlock F
-GLIBC_2.22 __pthread_mutexattr_destroy F
-GLIBC_2.22 __pthread_mutexattr_init F
-GLIBC_2.22 __pthread_mutexattr_settype F
-GLIBC_2.22 __pthread_once F
-GLIBC_2.22 __pthread_register_cancel F
-GLIBC_2.22 __pthread_register_cancel_defer F
-GLIBC_2.22 __pthread_rwlock_destroy F
-GLIBC_2.22 __pthread_rwlock_init F
-GLIBC_2.22 __pthread_rwlock_rdlock F
-GLIBC_2.22 __pthread_rwlock_tryrdlock F
-GLIBC_2.22 __pthread_rwlock_trywrlock F
-GLIBC_2.22 __pthread_rwlock_unlock F
-GLIBC_2.22 __pthread_rwlock_wrlock F
-GLIBC_2.22 __pthread_setspecific F
-GLIBC_2.22 __pthread_unregister_cancel F
-GLIBC_2.22 __pthread_unregister_cancel_restore F
-GLIBC_2.22 __pthread_unwind_next F
-GLIBC_2.22 __res_state F
-GLIBC_2.22 _pthread_cleanup_pop F
-GLIBC_2.22 _pthread_cleanup_pop_restore F
-GLIBC_2.22 _pthread_cleanup_push F
-GLIBC_2.22 _pthread_cleanup_push_defer F
-GLIBC_2.22 flockfile F
-GLIBC_2.22 ftrylockfile F
-GLIBC_2.22 funlockfile F
-GLIBC_2.22 pthread_attr_destroy F
-GLIBC_2.22 pthread_attr_getaffinity_np F
-GLIBC_2.22 pthread_attr_getdetachstate F
-GLIBC_2.22 pthread_attr_getguardsize F
-GLIBC_2.22 pthread_attr_getinheritsched F
-GLIBC_2.22 pthread_attr_getschedparam F
-GLIBC_2.22 pthread_attr_getschedpolicy F
-GLIBC_2.22 pthread_attr_getscope F
-GLIBC_2.22 pthread_attr_getstack F
-GLIBC_2.22 pthread_attr_getstackaddr F
-GLIBC_2.22 pthread_attr_getstacksize F
-GLIBC_2.22 pthread_attr_init F
-GLIBC_2.22 pthread_attr_setaffinity_np F
-GLIBC_2.22 pthread_attr_setdetachstate F
-GLIBC_2.22 pthread_attr_setguardsize F
-GLIBC_2.22 pthread_attr_setinheritsched F
-GLIBC_2.22 pthread_attr_setschedparam F
-GLIBC_2.22 pthread_attr_setschedpolicy F
-GLIBC_2.22 pthread_attr_setscope F
-GLIBC_2.22 pthread_attr_setstack F
-GLIBC_2.22 pthread_attr_setstackaddr F
-GLIBC_2.22 pthread_attr_setstacksize F
-GLIBC_2.22 pthread_barrier_destroy F
-GLIBC_2.22 pthread_barrier_init F
-GLIBC_2.22 pthread_barrier_wait F
-GLIBC_2.22 pthread_barrierattr_destroy F
-GLIBC_2.22 pthread_barrierattr_getpshared F
-GLIBC_2.22 pthread_barrierattr_init F
-GLIBC_2.22 pthread_barrierattr_setpshared F
-GLIBC_2.22 pthread_cancel F
-GLIBC_2.22 pthread_cond_broadcast F
-GLIBC_2.22 pthread_cond_destroy F
-GLIBC_2.22 pthread_cond_init F
-GLIBC_2.22 pthread_cond_signal F
-GLIBC_2.22 pthread_cond_timedwait F
-GLIBC_2.22 pthread_cond_wait F
-GLIBC_2.22 pthread_condattr_destroy F
-GLIBC_2.22 pthread_condattr_getclock F
-GLIBC_2.22 pthread_condattr_getpshared F
-GLIBC_2.22 pthread_condattr_init F
-GLIBC_2.22 pthread_condattr_setclock F
-GLIBC_2.22 pthread_condattr_setpshared F
-GLIBC_2.22 pthread_create F
-GLIBC_2.22 pthread_detach F
-GLIBC_2.22 pthread_equal F
-GLIBC_2.22 pthread_exit F
-GLIBC_2.22 pthread_getaffinity_np F
-GLIBC_2.22 pthread_getattr_default_np F
-GLIBC_2.22 pthread_getattr_np F
-GLIBC_2.22 pthread_getconcurrency F
-GLIBC_2.22 pthread_getcpuclockid F
-GLIBC_2.22 pthread_getname_np F
-GLIBC_2.22 pthread_getschedparam F
-GLIBC_2.22 pthread_getspecific F
-GLIBC_2.22 pthread_join F
-GLIBC_2.22 pthread_key_create F
-GLIBC_2.22 pthread_key_delete F
-GLIBC_2.22 pthread_kill F
-GLIBC_2.22 pthread_kill_other_threads_np F
-GLIBC_2.22 pthread_mutex_consistent F
-GLIBC_2.22 pthread_mutex_consistent_np F
-GLIBC_2.22 pthread_mutex_destroy F
-GLIBC_2.22 pthread_mutex_getprioceiling F
-GLIBC_2.22 pthread_mutex_init F
-GLIBC_2.22 pthread_mutex_lock F
-GLIBC_2.22 pthread_mutex_setprioceiling F
-GLIBC_2.22 pthread_mutex_timedlock F
-GLIBC_2.22 pthread_mutex_trylock F
-GLIBC_2.22 pthread_mutex_unlock F
-GLIBC_2.22 pthread_mutexattr_destroy F
-GLIBC_2.22 pthread_mutexattr_getkind_np F
-GLIBC_2.22 pthread_mutexattr_getprioceiling F
-GLIBC_2.22 pthread_mutexattr_getprotocol F
-GLIBC_2.22 pthread_mutexattr_getpshared F
-GLIBC_2.22 pthread_mutexattr_getrobust F
-GLIBC_2.22 pthread_mutexattr_getrobust_np F
-GLIBC_2.22 pthread_mutexattr_gettype F
-GLIBC_2.22 pthread_mutexattr_init F
-GLIBC_2.22 pthread_mutexattr_setkind_np F
-GLIBC_2.22 pthread_mutexattr_setprioceiling F
-GLIBC_2.22 pthread_mutexattr_setprotocol F
-GLIBC_2.22 pthread_mutexattr_setpshared F
-GLIBC_2.22 pthread_mutexattr_setrobust F
-GLIBC_2.22 pthread_mutexattr_setrobust_np F
-GLIBC_2.22 pthread_mutexattr_settype F
-GLIBC_2.22 pthread_once F
-GLIBC_2.22 pthread_rwlock_destroy F
-GLIBC_2.22 pthread_rwlock_init F
-GLIBC_2.22 pthread_rwlock_rdlock F
-GLIBC_2.22 pthread_rwlock_timedrdlock F
-GLIBC_2.22 pthread_rwlock_timedwrlock F
-GLIBC_2.22 pthread_rwlock_tryrdlock F
-GLIBC_2.22 pthread_rwlock_trywrlock F
-GLIBC_2.22 pthread_rwlock_unlock F
-GLIBC_2.22 pthread_rwlock_wrlock F
-GLIBC_2.22 pthread_rwlockattr_destroy F
-GLIBC_2.22 pthread_rwlockattr_getkind_np F
-GLIBC_2.22 pthread_rwlockattr_getpshared F
-GLIBC_2.22 pthread_rwlockattr_init F
-GLIBC_2.22 pthread_rwlockattr_setkind_np F
-GLIBC_2.22 pthread_rwlockattr_setpshared F
-GLIBC_2.22 pthread_self F
-GLIBC_2.22 pthread_setaffinity_np F
-GLIBC_2.22 pthread_setattr_default_np F
-GLIBC_2.22 pthread_setcancelstate F
-GLIBC_2.22 pthread_setcanceltype F
-GLIBC_2.22 pthread_setconcurrency F
-GLIBC_2.22 pthread_setname_np F
-GLIBC_2.22 pthread_setschedparam F
-GLIBC_2.22 pthread_setschedprio F
-GLIBC_2.22 pthread_setspecific F
-GLIBC_2.22 pthread_sigmask F
-GLIBC_2.22 pthread_sigqueue F
-GLIBC_2.22 pthread_spin_destroy F
-GLIBC_2.22 pthread_spin_init F
-GLIBC_2.22 pthread_spin_lock F
-GLIBC_2.22 pthread_spin_trylock F
-GLIBC_2.22 pthread_spin_unlock F
-GLIBC_2.22 pthread_testcancel F
-GLIBC_2.22 pthread_timedjoin_np F
-GLIBC_2.22 pthread_tryjoin_np F
-GLIBC_2.22 pthread_yield F
-GLIBC_2.22 raise F
-GLIBC_2.22 sem_close F
-GLIBC_2.22 sem_destroy F
-GLIBC_2.22 sem_getvalue F
-GLIBC_2.22 sem_init F
-GLIBC_2.22 sem_open F
-GLIBC_2.22 sem_post F
-GLIBC_2.22 sem_timedwait F
-GLIBC_2.22 sem_trywait F
-GLIBC_2.22 sem_unlink F
-GLIBC_2.22 sem_wait F
diff --git a/sysdeps/nacl/libresolv.abilist b/sysdeps/nacl/libresolv.abilist
deleted file mode 100644
index 03f6bc2..0000000
--- a/sysdeps/nacl/libresolv.abilist
+++ /dev/null
@@ -1,92 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 __b64_ntop F
-GLIBC_2.22 __b64_pton F
-GLIBC_2.22 __dn_comp F
-GLIBC_2.22 __dn_count_labels F
-GLIBC_2.22 __dn_expand F
-GLIBC_2.22 __dn_skipname F
-GLIBC_2.22 __fp_nquery F
-GLIBC_2.22 __fp_query F
-GLIBC_2.22 __fp_resstat F
-GLIBC_2.22 __hostalias F
-GLIBC_2.22 __loc_aton F
-GLIBC_2.22 __loc_ntoa F
-GLIBC_2.22 __p_cdname F
-GLIBC_2.22 __p_cdnname F
-GLIBC_2.22 __p_class F
-GLIBC_2.22 __p_class_syms D 0x54
-GLIBC_2.22 __p_fqname F
-GLIBC_2.22 __p_fqnname F
-GLIBC_2.22 __p_option F
-GLIBC_2.22 __p_query F
-GLIBC_2.22 __p_rcode F
-GLIBC_2.22 __p_secstodate F
-GLIBC_2.22 __p_time F
-GLIBC_2.22 __p_type F
-GLIBC_2.22 __p_type_syms D 0x228
-GLIBC_2.22 __putlong F
-GLIBC_2.22 __putshort F
-GLIBC_2.22 __res_close F
-GLIBC_2.22 __res_dnok F
-GLIBC_2.22 __res_hnok F
-GLIBC_2.22 __res_hostalias F
-GLIBC_2.22 __res_isourserver F
-GLIBC_2.22 __res_mailok F
-GLIBC_2.22 __res_mkquery F
-GLIBC_2.22 __res_nameinquery F
-GLIBC_2.22 __res_nmkquery F
-GLIBC_2.22 __res_nquery F
-GLIBC_2.22 __res_nquerydomain F
-GLIBC_2.22 __res_nsearch F
-GLIBC_2.22 __res_nsend F
-GLIBC_2.22 __res_ownok F
-GLIBC_2.22 __res_queriesmatch F
-GLIBC_2.22 __res_query F
-GLIBC_2.22 __res_querydomain F
-GLIBC_2.22 __res_search F
-GLIBC_2.22 __res_send F
-GLIBC_2.22 __sym_ntop F
-GLIBC_2.22 __sym_ntos F
-GLIBC_2.22 __sym_ston F
-GLIBC_2.22 _gethtbyaddr F
-GLIBC_2.22 _gethtbyname F
-GLIBC_2.22 _gethtbyname2 F
-GLIBC_2.22 _gethtent F
-GLIBC_2.22 _getlong F
-GLIBC_2.22 _getshort F
-GLIBC_2.22 _res_opcodes D 0x40
-GLIBC_2.22 _sethtent F
-GLIBC_2.22 inet_net_ntop F
-GLIBC_2.22 inet_net_pton F
-GLIBC_2.22 inet_neta F
-GLIBC_2.22 ns_datetosecs F
-GLIBC_2.22 ns_format_ttl F
-GLIBC_2.22 ns_get16 F
-GLIBC_2.22 ns_get32 F
-GLIBC_2.22 ns_initparse F
-GLIBC_2.22 ns_makecanon F
-GLIBC_2.22 ns_msg_getflag F
-GLIBC_2.22 ns_name_compress F
-GLIBC_2.22 ns_name_ntol F
-GLIBC_2.22 ns_name_ntop F
-GLIBC_2.22 ns_name_pack F
-GLIBC_2.22 ns_name_pton F
-GLIBC_2.22 ns_name_rollback F
-GLIBC_2.22 ns_name_skip F
-GLIBC_2.22 ns_name_uncompress F
-GLIBC_2.22 ns_name_unpack F
-GLIBC_2.22 ns_parse_ttl F
-GLIBC_2.22 ns_parserr F
-GLIBC_2.22 ns_put16 F
-GLIBC_2.22 ns_put32 F
-GLIBC_2.22 ns_samedomain F
-GLIBC_2.22 ns_samename F
-GLIBC_2.22 ns_skiprr F
-GLIBC_2.22 ns_sprintrr F
-GLIBC_2.22 ns_sprintrrf F
-GLIBC_2.22 ns_subdomain F
-GLIBC_2.22 res_gethostbyaddr F
-GLIBC_2.22 res_gethostbyname F
-GLIBC_2.22 res_gethostbyname2 F
-GLIBC_2.22 res_send_setqhook F
-GLIBC_2.22 res_send_setrhook F
diff --git a/sysdeps/nacl/librt.abilist b/sysdeps/nacl/librt.abilist
deleted file mode 100644
index 58a05aa..0000000
--- a/sysdeps/nacl/librt.abilist
+++ /dev/null
@@ -1,36 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 __mq_open_2 F
-GLIBC_2.22 aio_cancel F
-GLIBC_2.22 aio_cancel64 F
-GLIBC_2.22 aio_error F
-GLIBC_2.22 aio_error64 F
-GLIBC_2.22 aio_fsync F
-GLIBC_2.22 aio_fsync64 F
-GLIBC_2.22 aio_init F
-GLIBC_2.22 aio_read F
-GLIBC_2.22 aio_read64 F
-GLIBC_2.22 aio_return F
-GLIBC_2.22 aio_return64 F
-GLIBC_2.22 aio_suspend F
-GLIBC_2.22 aio_suspend64 F
-GLIBC_2.22 aio_write F
-GLIBC_2.22 aio_write64 F
-GLIBC_2.22 lio_listio F
-GLIBC_2.22 lio_listio64 F
-GLIBC_2.22 mq_close F
-GLIBC_2.22 mq_getattr F
-GLIBC_2.22 mq_notify F
-GLIBC_2.22 mq_open F
-GLIBC_2.22 mq_receive F
-GLIBC_2.22 mq_send F
-GLIBC_2.22 mq_setattr F
-GLIBC_2.22 mq_timedreceive F
-GLIBC_2.22 mq_timedsend F
-GLIBC_2.22 mq_unlink F
-GLIBC_2.22 shm_open F
-GLIBC_2.22 shm_unlink F
-GLIBC_2.22 timer_create F
-GLIBC_2.22 timer_delete F
-GLIBC_2.22 timer_getoverrun F
-GLIBC_2.22 timer_gettime F
-GLIBC_2.22 timer_settime F
diff --git a/sysdeps/nacl/libutil.abilist b/sysdeps/nacl/libutil.abilist
deleted file mode 100644
index 080dd1e..0000000
--- a/sysdeps/nacl/libutil.abilist
+++ /dev/null
@@ -1,7 +0,0 @@
-GLIBC_2.22 GLIBC_2.22 A
-GLIBC_2.22 forkpty F
-GLIBC_2.22 login F
-GLIBC_2.22 login_tty F
-GLIBC_2.22 logout F
-GLIBC_2.22 logwtmp F
-GLIBC_2.22 openpty F
diff --git a/sysdeps/nacl/link.c b/sysdeps/nacl/link.c
deleted file mode 100644
index b5d3b33..0000000
--- a/sysdeps/nacl/link.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Make a hard link.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Make a link to FROM called TO.  */
-int
-__link (const char *from, const char *to)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.link (from, to), 0);
-}
-weak_alias (__link, link)
diff --git a/sysdeps/nacl/lll_timedlock_wait.c b/sysdeps/nacl/lll_timedlock_wait.c
deleted file mode 100644
index 5388957..0000000
--- a/sysdeps/nacl/lll_timedlock_wait.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Timed low level locking for pthread library.  NaCl version.
-   Copyright (C) 2015-2017 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 <assert.h>
-#include <atomic.h>
-#include <errno.h>
-#include <lowlevellock.h>
-#include <sys/time.h>
-
-
-/* This behaves the same as the generic version in nptl/.  It's simpler
-   because it doesn't need to convert an absolute timeout to a relative
-   one (and back again in the lll_futex_timed_wait macro).  */
-
-int
-__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private)
-{
-  /* Reject invalid timeouts.  */
-  if (__glibc_unlikely (abstime->tv_nsec < 0)
-      || __glibc_unlikely (abstime->tv_nsec >= 1000000000))
-    return EINVAL;
-
-  /* Try locking.  */
-  while (atomic_exchange_acq (futex, 2) != 0)
-    {
-      /* If *futex == 2, wait until woken or timeout.  */
-      int err = __nacl_irt_futex.futex_wait_abs ((volatile int *) futex, 2,
-						 abstime);
-      if (err != 0)
-	{
-	  if (__glibc_likely (err == ETIMEDOUT))
-	    return err;
-	  assert (err == EAGAIN);
-	}
-    }
-
-  return 0;
-}
diff --git a/sysdeps/nacl/lll_timedwait_tid.c b/sysdeps/nacl/lll_timedwait_tid.c
deleted file mode 100644
index e0b88fd..0000000
--- a/sysdeps/nacl/lll_timedwait_tid.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Timed waiting for thread death.  NaCl version.
-   Copyright (C) 2015-2017 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 <assert.h>
-#include <atomic.h>
-#include <errno.h>
-#include <lowlevellock.h>
-#include <sys/time.h>
-
-int
-__lll_timedwait_tid (int *tidp, const struct timespec *abstime)
-{
-  /* Reject invalid timeouts.  */
-  if (__glibc_unlikely (abstime->tv_nsec < 0)
-      || __glibc_unlikely (abstime->tv_nsec >= 1000000000))
-    return EINVAL;
-
-  /* Repeat until thread terminated.  */
-  int tid;
-  while ((tid = atomic_load_relaxed (tidp)) != 0)
-    {
-      /* See exit-thread.h for details.  */
-      if (tid == NACL_EXITING_TID)
-	/* The thread should now be in the process of exiting, so it will
-	   finish quick enough that the timeout doesn't matter.  If any
-	   thread ever stays in this state for long, there is something
-	   catastrophically wrong.  */
-	atomic_spin_nop ();
-      else
-	{
-	  assert (tid > 0);
-
-	  /* If *FUTEX == TID, wait until woken or timeout.  */
-	  int err = __nacl_irt_futex.futex_wait_abs ((volatile int *) tidp,
-						     tid, abstime);
-	  if (err != 0)
-	    {
-	      if (__glibc_likely (err == ETIMEDOUT))
-		return err;
-	      assert (err == EAGAIN);
-	    }
-	}
-    }
-
-  return 0;
-}
diff --git a/sysdeps/nacl/lowlevellock-futex.h b/sysdeps/nacl/lowlevellock-futex.h
deleted file mode 100644
index b614f25..0000000
--- a/sysdeps/nacl/lowlevellock-futex.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Low-level locking access to futex facilities.  NaCl version.
-   Copyright (C) 2015-2017 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 _LOWLEVELLOCK_FUTEX_H
-#define _LOWLEVELLOCK_FUTEX_H   1
-
-#include <nacl-interfaces.h>
-#include <time.h>
-
-
-#pragma GCC diagnostic ignored "-Wunused-value" /* XXX */
-
-/* Values for 'private' parameter of locking macros.  Note pthreadP.h
-   optimizes for these exact values, though they are not required.  */
-#define LLL_PRIVATE     0
-#define LLL_SHARED      128
-
-#define FUTEX_PRIVATE_FLAG	0       /* XXX */
-
-
-/* Wait while *FUTEXP == VAL for an lll_futex_wake call on FUTEXP.  */
-#define lll_futex_wait(futexp, val, private) \
-  ((void) (private), \
-   - __nacl_irt_futex.futex_wait_abs ((volatile int *) (futexp), val, NULL))
-
-/* Wait until a lll_futex_wake call on FUTEXP, or TIMEOUT elapses.  */
-#define lll_futex_timed_wait(futexp, val, timeout, private)             \
-  ({                                                                    \
-    /* This timeout is relative, but the IRT call wants it absolute.  */\
-    const struct timespec *_to = (timeout);                             \
-    struct timespec _ts;                                                \
-    int _err = 0;                                                       \
-    if (_to != NULL                                                     \
-	&& __glibc_likely ((_err = __nacl_irt_clock.clock_gettime	\
-			    (CLOCK_REALTIME, &_ts)) == 0))		\
-      {                                                                 \
-	_ts.tv_sec += _to->tv_sec;                                      \
-	_ts.tv_nsec += _to->tv_nsec;                                    \
-	while (_ts.tv_nsec >= 1000000000)                               \
-	  {                                                             \
-	    _ts.tv_nsec -= 1000000000;                                  \
-	    ++_ts.tv_sec;                                               \
-	  }                                                             \
-	_to = &_ts;                                                     \
-      }                                                                 \
-    if (_err == 0)                                                      \
-      _err = __nacl_irt_futex.futex_wait_abs				\
-	((volatile int *) (futexp), val, _to);                          \
-    (void) (private);							\
-    -_err;								\
-  })
-
-/* Wake up up to NR waiters on FUTEXP.  */
-#define lll_futex_wake(futexp, nr, private)                     \
-  ({                                                            \
-    int _woken;                                                 \
-    (void) (private);						\
-    - __nacl_irt_futex.futex_wake ((volatile int *) (futexp), nr, &_woken); \
-  })
-
-/* NaCl does not support the requeue operation.  The only use of this is in
-   pthread_cond_broadcast, which handles an error return by falling back to
-   plain lll_futex_wake.  */
-#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \
-  ((futexp), (nr_wake), (nr_move), (mutex), (val), (private), -ENOSYS)
-
-/* NaCl does not support the special wake-unlock operation.  The only use
-   of this is in pthread_cond_signal, which handles an error return by
-   falling back to plain lll_futex_wake.  */
-/* Wake up up to NR_WAKE waiters on FUTEXP and NR_WAKE2 on FUTEXP2.  */
-#define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \
-  ((futexp), (nr_wake), (nr_wake2), (futexp2), (private), -ENOSYS)
-
-
-#endif  /* lowlevellock-futex.h */
diff --git a/sysdeps/nacl/lowlevellock.h b/sysdeps/nacl/lowlevellock.h
deleted file mode 100644
index cfa612a..0000000
--- a/sysdeps/nacl/lowlevellock.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Low-level lock implementation.  NaCl version.
-   Copyright (C) 2015-2017 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 _LOWLEVELLOCK_H
-
-/* Everything except the exit handling is the same as the generic code.  */
-# include <sysdeps/nptl/lowlevellock.h>
-
-/* See exit-thread.h for details.  */
-# define NACL_EXITING_TID	1
-
-# undef lll_wait_tid
-# define lll_wait_tid(tid)				\
-  do {							\
-    __typeof (tid) __tid;				\
-    volatile __typeof (tid) *__tidp = &(tid);		\
-    while ((__tid = atomic_load_relaxed (__tidp)) != 0) \
-      {							\
-	if (__tid == NACL_EXITING_TID)			\
-	  atomic_spin_nop ();				\
-	else						\
-	  lll_futex_wait (__tidp, __tid, LLL_PRIVATE);	\
-      }							\
-  } while (0)
-
-#endif	/* lowlevellock.h */
diff --git a/sysdeps/nacl/lseek.c b/sysdeps/nacl/lseek.c
deleted file mode 100644
index 4bc2382..0000000
--- a/sysdeps/nacl/lseek.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* lseek -- Move the file position of a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-
-/* Seek to OFFSET on FD, starting from WHENCE.  */
-off_t
-__libc_lseek (int fd, off_t offset, int whence)
-{
-  off_t result;
-  int error = __nacl_irt_fdio.seek (fd, offset, whence, &result);
-  if (error)
-    {
-      __set_errno (error);
-      return -1;
-    }
-  return result;
-}
-libc_hidden_def (__lseek)
-weak_alias (__libc_lseek, __lseek)
-weak_alias (__libc_lseek, lseek)
-
-/* Since off64_t is the same as off_t, lseek64 is just an alias.  */
-weak_alias (__libc_lseek, __libc_lseek64)
-weak_alias (__libc_lseek, __lseek64)
-weak_alias (__libc_lseek, lseek64)
diff --git a/sysdeps/nacl/lseek64.c b/sysdeps/nacl/lseek64.c
deleted file mode 100644
index 6f42ee6..0000000
--- a/sysdeps/nacl/lseek64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* lseek.c defines lseek64 as an alias.  */
diff --git a/sysdeps/nacl/lxstat.c b/sysdeps/nacl/lxstat.c
deleted file mode 100644
index cc5bc1a..0000000
--- a/sysdeps/nacl/lxstat.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Get stat information from a file name  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-/* Avoid the declaration so the compiler doesn't complain about the alias
-   with a different type signature.  It doesn't know that 'struct stat'
-   and 'struct stat64' are ABI-compatible.  */
-#define __lxstat64 __lxstat64_avoid
-#include <sys/stat.h>
-#undef  __lxstat64
-
-#include <errno.h>
-#include <stddef.h>
-
-#include <xstatconv.h>
-
-#undef  lstat
-
-/* Get file attributes about FILE and put them in BUF.
-   If FILE is a symbolic link, do not follow it.  */
-int
-__lxstat (int vers, const char *file, struct stat *buf)
-{
-  nacl_abi_stat_t abi_buf;
-  return NACL_CALL (__nacl_irt_dev_filename.lstat (file, &abi_buf),
-                    __xstat_conv (vers, &abi_buf, buf));
-}
-hidden_def (__lxstat)
-weak_alias (__lxstat, _lxstat)
-
-strong_alias (__lxstat, __lxstat64)
-hidden_ver (__lxstat, __lxstat64)
diff --git a/sysdeps/nacl/lxstat64.c b/sysdeps/nacl/lxstat64.c
deleted file mode 100644
index ca4ecd2..0000000
--- a/sysdeps/nacl/lxstat64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* lxstat.c defines __lxstat64 as an alias.  */
diff --git a/sysdeps/nacl/mkdir.c b/sysdeps/nacl/mkdir.c
deleted file mode 100644
index b08ff6e..0000000
--- a/sysdeps/nacl/mkdir.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Make a directory.  NaCl version.
-   Copyright (C) 2015-2017 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 <sys/stat.h>
-#include <nacl-interfaces.h>
-
-/* Create a directory named PATH with protections MODE.  */
-int
-__mkdir (const char *path, mode_t mode)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.mkdir (path, mode), 0);
-}
-weak_alias (__mkdir, mkdir)
diff --git a/sysdeps/nacl/mmap.c b/sysdeps/nacl/mmap.c
deleted file mode 100644
index b3c69e7..0000000
--- a/sysdeps/nacl/mmap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Map addresses from a file or anonymous memory.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <sys/mman.h>
-#include <nacl-interfaces.h>
-
-
-/* Map addresses starting near ADDR and extending for LEN bytes.  From
-   OFFSET into the file FD describes according to PROT and FLAGS.  If ADDR
-   is nonzero, it is the desired mapping address.  If the MAP_FIXED bit is
-   set in FLAGS, the mapping will be at ADDR exactly (which must be
-   page-aligned); otherwise the system chooses a convenient nearby address.
-   The return value is the actual mapping address chosen or MAP_FAILED
-   for errors (in which case `errno' is set).  A successful `mmap' call
-   deallocates any previous mapping for the affected region.  */
-
-__ptr_t
-__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
-{
-  int error = __nacl_irt_memory.mmap (&addr, len, prot, flags, fd, offset);
-  if (error)
-    {
-      errno = error;
-      return MAP_FAILED;
-    }
-  return addr;
-}
-weak_alias (__mmap, mmap)
-
-
-/* Since off64_t is the same as off_t, mmap64 is just an alias.  */
-strong_alias (__mmap, __mmap64)
-weak_alias (__mmap, mmap64)
diff --git a/sysdeps/nacl/mmap64.c b/sysdeps/nacl/mmap64.c
deleted file mode 100644
index e8775a6..0000000
--- a/sysdeps/nacl/mmap64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* mmap.c defines mmap64 as an alias.  */
diff --git a/sysdeps/nacl/mprotect.c b/sysdeps/nacl/mprotect.c
deleted file mode 100644
index 9dc0c60..0000000
--- a/sysdeps/nacl/mprotect.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Change memory protections on pages.  NaCl version.
-   Copyright (C) 2015-2017 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 <sys/types.h>
-#include <sys/mman.h>
-#include <nacl-interfaces.h>
-
-
-/* Change the memory protection of the region starting at ADDR and
-   extending LEN bytes to PROT.  Returns 0 if successful, -1 for errors
-   (and sets errno).  */
-
-int
-__mprotect (__ptr_t addr, size_t len, int prot)
-{
-  return NACL_CALL (__nacl_irt_memory.mprotect (addr, len, prot), 0);
-}
-weak_alias (__mprotect, mprotect)
diff --git a/sysdeps/nacl/munmap.c b/sysdeps/nacl/munmap.c
deleted file mode 100644
index 55667b2..0000000
--- a/sysdeps/nacl/munmap.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Deallocate a region of pages.  NaCl version.
-   Copyright (C) 2015-2017 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 <sys/mman.h>
-#include <nacl-interfaces.h>
-
-
-/* Deallocate any mapping for the region starting at ADDR and extending LEN
-   bytes.  Returns 0 if successful, -1 for errors (and sets errno).  */
-
-int
-__munmap (__ptr_t addr, size_t len)
-{
-  return NACL_CALL (__nacl_irt_memory.munmap (addr, len), 0);
-}
-
-weak_alias (__munmap, munmap)
diff --git a/sysdeps/nacl/nacl-after-link.sh b/sysdeps/nacl/nacl-after-link.sh
deleted file mode 100755
index fd3a2c9..0000000
--- a/sysdeps/nacl/nacl-after-link.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-# Script to validate NaCl binaries after linking.
-
-# Copyright (C) 2015-2017 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/>.
-
-# See sysdeps/nacl/Makefile for how this script is invoked.
-READELF="$1"
-binary="$2"
-
-if [ -z "$NACL_SDK_ROOT" ]; then
-  echo >&2 "$0: NACL_SDK_ROOT must be set in the environment"
-  exit 77
-fi
-
-ncval="${NACL_SDK_ROOT}/tools/ncval"
-
-if [ ! -x "$ncval" ]; then
-  echo >&2 "$0: No ncval binary in $ncval"
-  exit 77
-fi
-
-"${READELF}" -Wl "$binary" | awk '
-BEGIN { saw_load = saw_text = 0 }
-$1 == "LOAD" {
-  saw_load = 1;
-  if (/ R.E /) saw_code = 1;
-}
-END {
-  exit (saw_code ? 11 : saw_load ? 22 : 1);
-}
-'
-case $? in
-11)
-  # We saw a code segment, so we can try ncval.
-  ;;
-22)
-  # We saw LOAD segments but none of them were code.
-  echo >&2 "+++ No code: $binary"
-  exit 0
-  ;;
-*)
-  # Something funny going on.
-  echo >&2 "*** Failed to analyze: $binary"
-  exit 2
-  ;;
-esac
-
-if "$ncval" "$binary"; then
-  echo >&2 "+++ Validated: $binary"
-  exit 0
-else
-  echo >&2 "*** Validation failed: $binary"
-  exit 2
-fi
diff --git a/sysdeps/nacl/nacl-interface-list.h b/sysdeps/nacl/nacl-interface-list.h
deleted file mode 100644
index d76ca3c..0000000
--- a/sysdeps/nacl/nacl-interface-list.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* List of NaCl interface tables used in libraries.
-   Copyright (C) 2015-2017 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/>.  */
-
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_BASIC_v0_1, nacl_irt_basic)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_FDIO_v0_1, nacl_irt_fdio)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_MEMORY_v0_3, nacl_irt_memory)
-NACL_MANDATORY_INTERFACE (libc,
-			  NACL_IRT_THREAD_v0_1, nacl_irt_thread)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_FUTEX_v0_1, nacl_irt_futex)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_TLS_v0_1, nacl_irt_tls)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_RESOURCE_OPEN_v0_1, nacl_irt_resource_open)
-NACL_MANDATORY_INTERFACE (rtld,
-			  NACL_IRT_CODE_DATA_ALLOC_v0_1,
-			  nacl_irt_code_data_alloc)
-NACL_OPTIONAL_INTERFACE (libc,
-			 NACL_IRT_CLOCK_v0_1, nacl_irt_clock)
-NACL_OPTIONAL_INTERFACE (rtld,
-			 NACL_IRT_DYNCODE_v0_1, nacl_irt_dyncode)
-NACL_OPTIONAL_INTERFACE (rtld,
-			 NACL_IRT_DEV_GETPID_v0_1, nacl_irt_dev_getpid)
-NACL_OPTIONAL_INTERFACE (rtld,
-			 NACL_IRT_DEV_FILENAME_v0_3, nacl_irt_dev_filename)
-NACL_OPTIONAL_INTERFACE (libc,
-			 NACL_IRT_DEV_FDIO_v0_3, nacl_irt_dev_fdio)
diff --git a/sysdeps/nacl/nacl-interface-table.c b/sysdeps/nacl/nacl-interface-table.c
deleted file mode 100644
index 27b0551..0000000
--- a/sysdeps/nacl/nacl-interface-table.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Define one NaCl interface table.
-   Copyright (C) 2015-2017 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 "nacl-interfaces.h"
-
-#define PASTE(a, b)     PASTE_1 (a, b)
-#define PASTE_1(a, b)   a##b
-#define STRINGIFY(x)    STRINGIFY_1 (x)
-#define STRINGIFY_1(x)  #x
-
-#if IS_IN (rtld) && PASTE (MODULE_, INTERFACE_MODULE) != MODULE_rtld
-# error "This interface is also needed in rtld."
-#endif
-
-#define SECTION(which) \
-  section ("nacl_"  STRINGIFY (INTERFACE_CATEGORY) "_interface_" #which)
-
-static const struct nacl_interface PASTE (desc_, INTERFACE_TYPE)
-  __attribute__ ((used, SECTION (names))) =
-{
-  .table_size = sizeof (struct INTERFACE_TYPE),
-  .namelen = sizeof INTERFACE_STRING,
-  .name = INTERFACE_STRING
-};
-
-struct INTERFACE_TYPE PASTE (__, INTERFACE_TYPE)
-  __attribute__ ((SECTION (tables)));
-PASTE (INTERFACE_MODULE, _hidden_data_def) (PASTE (__, INTERFACE_TYPE))
diff --git a/sysdeps/nacl/nacl-interfaces.c b/sysdeps/nacl/nacl-interfaces.c
deleted file mode 100644
index e7771d9..0000000
--- a/sysdeps/nacl/nacl-interfaces.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Using NaCl interface tables.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <nacl-interfaces.h>
-#include <ldsodefs.h>
-
-
-/* These magic symbols are provided implicitly by the linker to
-   give us the bounds of the specially-named sections.  */
-
-extern const struct nacl_interface __start_nacl_mandatory_interface_names[]
-  attribute_hidden;
-extern const struct nacl_interface __stop_nacl_mandatory_interface_names[]
-  attribute_hidden;
-
-extern uintptr_t __start_nacl_mandatory_interface_tables[]
-  attribute_hidden;
-extern uintptr_t __stop_nacl_mandatory_interface_tables[]
-  attribute_hidden;
-
-/* We use weak references for the optional ones, since they
-   might not be included at all in any given statically-linked program.  */
-
-extern const struct nacl_interface __start_nacl_optional_interface_names[]
-  attribute_hidden __attribute__ ((weak));
-extern const struct nacl_interface __stop_nacl_optional_interface_names[]
-  attribute_hidden __attribute__ ((weak));
-
-extern uintptr_t __start_nacl_optional_interface_tables[]
-  attribute_hidden __attribute__ ((weak));
-extern uintptr_t __stop_nacl_optional_interface_tables[]
-  attribute_hidden __attribute__ ((weak));
-
-static uintptr_t *
-next_nacl_table (uintptr_t *t, const struct nacl_interface *i)
-{
-  return (void *) t + i->table_size;
-}
-
-static void __attribute__ ((noreturn))
-missing_mandatory_interface (const struct nacl_interface *i)
-{
-  static const char before[] =
-    "FATAL: NaCl IRT interface query failed for essential interface \"";
-  static const char after[] =
-    "\"\n";
-
-  if (__nacl_irt_fdio.write != NULL)
-    {
-      size_t wrote;
-      (*__nacl_irt_fdio.write) (2, before, sizeof before - 1, &wrote);
-      (*__nacl_irt_fdio.write) (2, i->name, i->namelen - 1, &wrote);
-      (*__nacl_irt_fdio.write) (2, after, sizeof after - 1, &wrote);
-    }
-
-  if (__nacl_irt_basic.exit != NULL)
-    (*__nacl_irt_basic.exit) (-1);
-
-  __builtin_trap ();
-}
-
-static void
-initialize_mandatory_interfaces (void)
-{
-  const struct nacl_interface *i = __start_nacl_mandatory_interface_names;
-  uintptr_t *t = __start_nacl_mandatory_interface_tables;
-  while (i < __stop_nacl_mandatory_interface_names)
-    {
-      if (__nacl_irt_query (i->name, t, i->table_size) != i->table_size)
-	missing_mandatory_interface (i);
-
-      t = next_nacl_table (t, i);
-      i = next_nacl_interface (i);
-    }
-}
-
-
-static int
-nacl_missing_optional_interface (void)
-{
-  return ENOSYS;
-}
-
-static void
-initialize_optional_interfaces (void)
-{
-  const struct nacl_interface *i = __start_nacl_optional_interface_names;
-  uintptr_t *t = __start_nacl_optional_interface_tables;
-  while (i < __stop_nacl_optional_interface_names)
-    {
-      size_t filled = __nacl_irt_query (i->name, t, i->table_size);
-      if (filled != i->table_size)
-	for (size_t slot = 0; slot < i->table_size / sizeof *t; ++slot)
-	  t[slot] = (uintptr_t) &nacl_missing_optional_interface;
-
-      t = next_nacl_table (t, i);
-      i = next_nacl_interface (i);
-    }
-}
-
-
-void attribute_hidden
-__nacl_initialize_interfaces (void)
-{
-  initialize_mandatory_interfaces ();
-  initialize_optional_interfaces ();
-}
-
-
-static bool
-try_supply (const struct nacl_interface *const start,
-	    const struct nacl_interface *const stop,
-	    uintptr_t *all_tables,
-	    const char *ident, size_t ident_len,
-	    const void *table, size_t tablesize)
-{
-  const struct nacl_interface *i = start;
-  uintptr_t *t = all_tables;
-  while (i < stop)
-    {
-      if (i->table_size == tablesize
-	  && i->namelen == ident_len
-	  && !memcmp (i->name, ident, ident_len))
-	{
-	  memcpy (t, table, tablesize);
-	  return true;
-	}
-
-      t = next_nacl_table (t, i);
-      i = next_nacl_interface (i);
-    }
-
-  return false;
-}
-
-internal_function
-bool
-PASTE_NAME (__nacl_supply_interface_, MODULE_NAME)
-  (const char *ident, size_t ident_len, const void *table, size_t tablesize)
-{
-  return (try_supply (__start_nacl_mandatory_interface_names,
-		      __stop_nacl_mandatory_interface_names,
-		      __start_nacl_mandatory_interface_tables,
-		      ident, ident_len, table, tablesize)
-	  || try_supply (__start_nacl_optional_interface_names,
-			 __stop_nacl_optional_interface_names,
-			 __start_nacl_optional_interface_tables,
-			 ident, ident_len, table, tablesize));
-}
diff --git a/sysdeps/nacl/nacl-interfaces.h b/sysdeps/nacl/nacl-interfaces.h
deleted file mode 100644
index 6dd1c15..0000000
--- a/sysdeps/nacl/nacl-interfaces.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Using NaCl interface tables.
-   Copyright (C) 2015-2017 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 _NACL_INTERFACES_H
-#define _NACL_INTERFACES_H	1
-
-#include <errno.h>
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <sys/types.h>
-
-/* <nacl-irt.h> is massaged from native_client/src/untrusted/irt/irt.h so
-   that it uses nacl_abi_*_t type names.  We must define those types first.  */
-
-/* These are the same in the IRT ABI as in the libc ABI.  */
-typedef blksize_t nacl_abi_blksize_t;
-typedef dev_t nacl_abi_dev_t;
-typedef gid_t nacl_abi_gid_t;
-typedef ino_t nacl_abi_ino_t;
-typedef mode_t nacl_abi_mode_t;
-typedef nlink_t nacl_abi_nlink_t;
-typedef size_t nacl_abi_size_t;
-typedef time_t nacl_abi_time_t;
-typedef uid_t nacl_abi_uid_t;
-typedef struct dirent nacl_abi_dirent_t;
-typedef struct timeval nacl_abi_timeval_t;
-typedef struct timespec nacl_abi_timespec_t;
-
-/* This is unsigned in the IRT ABI, but it's traditionally 'long int',
-   so we stick with that.  */
-typedef clock_t nacl_abi_clock_t;
-
-typedef int32_t nacl_abi_blkcnt_t;
-
-/* This is different by design.  */
-typedef struct nacl_abi_stat nacl_abi_stat_t;
-
-#include <nacl-irt.h>
-
-/* This is how we access the IRT interface-query function.
-   This formulation makes it usable as if it were a function name.  */
-#define __nacl_irt_query	(*(TYPE_nacl_irt_query) GLRO(dl_sysinfo))
-
-
-/* This describes one IRT (or IRT-like) interface that libc uses.
-   This structure contains no pointers, so it can go into rodata
-   without relocs.  Instead, the actual tables we use for these
-   interfaces live in a parallel section in writable data.  */
-struct nacl_interface {
-  size_t table_size;
-  size_t namelen;
-  char name[];
-};
-
-/* Increment for 'const struct nacl_interface *' pointers.  */
-static inline const struct nacl_interface *
-next_nacl_interface (const struct nacl_interface *i)
-{
-  uintptr_t align = __alignof (*i);
-  return (const void *) (((uintptr_t) &i->name[i->namelen] + align - 1)
-			 & -align);
-}
-
-#if IS_IN (libpthread)
-# define libpthread_hidden_proto(name)	hidden_proto (name)
-#else
-# define libpthread_hidden_proto(name)
-#endif
-
-#define DECLARE_INTERFACE(module, type) \
-  extern struct type __##type; module##_hidden_proto (__##type);
-
-#define NACL_MANDATORY_INTERFACE(module, id, type)	\
-  DECLARE_INTERFACE (module, type)
-#define NACL_OPTIONAL_INTERFACE(module, id, type)	\
-  DECLARE_INTERFACE (module, type)
-#include "nacl-interface-list.h"
-#undef	NACL_MANDATORY_INTERFACE
-#undef	NACL_OPTIONAL_INTERFACE
-
-extern void __nacl_initialize_interfaces (void) attribute_hidden;
-extern bool __nacl_supply_interface_libc (const char *ident, size_t ident_len,
-					  const void *table, size_t tablesize)
-  internal_function attribute_hidden;
-extern bool __nacl_supply_interface_rtld (const char *ident, size_t ident_len,
-					  const void *table, size_t tablesize);
-  internal_function;
-
-/* Convenience function for handling IRT call return values.  */
-static inline int
-__nacl_fail (int err)
-{
-  errno = err;
-  return -1;
-}
-
-#define NACL_CALL(err, val) \
-  ({ int _err = (err); _err ? __nacl_fail (_err) : (val); })
-
-/* Same as NACL_CALL but without setting errno.  */
-#define NACL_CALL_NOERRNO(err, val) \
-  ({ int _err = (err); _err ? _err : (val); })
-
-#endif  /* nacl-interfaces.h */
diff --git a/sysdeps/nacl/nacl-interfaces.mk.in b/sysdeps/nacl/nacl-interfaces.mk.in
deleted file mode 100644
index 92ff3c6..0000000
--- a/sysdeps/nacl/nacl-interfaces.mk.in
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Might as well be -*- C -*-.
-
-   This generates a makefile that sets the variable pairs
-   nacl-MODULE-mandatory-interfaces and nacl-MODULE-optional-interfaces
-   based on the nacl-interface-list.h list.  */
-
-%define NACL_MANDATORY_INTERFACE(module, id, type)       \
-  nacl-mandatory-interfaces += module-type
-%define NACL_OPTIONAL_INTERFACE(module, id, type) \
-  nacl-optional-interfaces += module-type
-
-%include "nacl-interface-list.h"
-
-%undef NACL_MANDATORY_INTERFACE
-%undef NACL_OPTIONAL_INTERFACE
-
-%define NACL_MANDATORY_INTERFACE(module, id, type)	\
-  nacl-module-type-string := id
-%define NACL_OPTIONAL_INTERFACE(module, id, type)	\
-  nacl-module-type-string := id
-
-%include "nacl-interface-list.h"
-
-%undef NACL_MANDATORY_INTERFACE
-%undef NACL_OPTIONAL_INTERFACE
diff --git a/sysdeps/nacl/nacl-test-wrapper.sh b/sysdeps/nacl/nacl-test-wrapper.sh
deleted file mode 100755
index ea6b6e2..0000000
--- a/sysdeps/nacl/nacl-test-wrapper.sh
+++ /dev/null
@@ -1,280 +0,0 @@
-#!/bin/bash
-# test-wrapper script for NaCl.
-
-# Copyright (C) 2015-2017 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/>.
-
-progname="$(basename "$0")"
-
-usage="usage: ${progname} --arch=ARCH [VAR=VAL...] COMMAND ..."
-help="
-"
-
-use_bootstrap=true
-arch=
-env=()
-envi=0
-while [ $# -gt 0 ]; do
-  case "$1" in
-
-    --help)
-      echo "$usage"
-      echo "$help"
-      exit 0
-      ;;
-
-    --arch=*)
-      arch="${1#--arch=}"
-      shift
-      ;;
-
-    *=*)
-      env[envi++]='-E'
-      env[envi++]="$1"
-      shift
-      ;;
-
-    --)
-      shift
-      break
-      ;;
-
-    *)
-      break
-      ;;
-  esac
-done
-
-if [ $# -lt 1 -o -z "$arch" ]; then
-  echo "$usage" >&2
-  echo "Type '${progname} --help' for more detailed help." >&2
-  exit 1
-fi
-
-test_args=("$@")
-
-if [ -z "$NACL_SDK_ROOT" ]; then
-  echo >&2 "$0: NACL_SDK_ROOT must be set in the environment"
-  exit 77
-fi
-
-# We use a handful of things from the NaCl SDK, or at least
-# from a directory matching the layout of the NaCl SDK.
-sdk_tools="${NACL_SDK_ROOT}/tools"
-
-NACL_BOOTSTRAP="${sdk_tools}/nacl_helper_bootstrap_${arch}"
-NACL_SEL_LDR="${sdk_tools}/sel_ldr_${arch}"
-NACL_IRT="${sdk_tools}/irt_core_${arch}.nexe"
-NACL_LOADER="${sdk_tools}/elf_loader_${arch}.nexe"
-
-if [ ! -x "$NACL_BOOTSTRAP" -o ! -x "$NACL_SEL_LDR" ]; then
-  echo >&2 "$0: sel_ldr_${arch} and/or nacl_helper_bootstrap_${arch} missing"
-  echo >&2 "$0: from directory $sdk_tools"
-  exit 77
-fi
-
-if [ ! -r "$NACL_IRT" -o ! -r "$NACL_LOADER" ]; then
-  echo >&2 "$0: irt_core_${arch}.nexe and/or loader_${arch}.nexe missing"
-  echo >&2 "$0: from directory $sdk_tools"
-  exit 77
-fi
-
-# Figure out if we are building for the native machine or not.
-# If not, we'll run sel_ldr under qemu.
-decide_use_emulator()
-{
-  local arg
-  for arg; do
-    if [[ "$(uname -m)" = "$1" ]]; then
-      return
-    fi
-  done
-  use_emulator=true
-}
-
-use_emulator=false
-case "$arch" in
-arm)
-  decide_use_emulator 'arm*'
-  emulator=(qemu-arm -cpu cortex-a15 -L "${sdk_tools}/arm_trusted")
-  ;;
-x86_32)
-  decide_use_emulator 'i?86' 'x86_64*'
-  emulator=(qemu-i386)
-  ;;
-x86_64)
-  decide_use_emulator 'x86_64*'
-  emulator=(qemu-x86_64)
-  ;;
-esac
-
-if $use_emulator; then
-  ldr_args=('-Q')
-  emulator_factor=10
-else
-  emulator=()
-  ldr_args=()
-  emulator_factor=1
-fi
-
-if $use_bootstrap; then
-  ldr=(
-    "${NACL_BOOTSTRAP}"
-    "${NACL_SEL_LDR}"
-    '--r_debug=0xXXXXXXXXXXXXXXXX'
-    '--reserved_at_zero=0xXXXXXXXXXXXXXXXX'
-  )
-else
-  ldr=("${NACL_SEL_LDR}")
-fi
-
-static=true
-case "$1" in
-*/ld-nacl*) static=false ;;
-esac
-
-if $static; then
-  loader=()
-else
-  loader=(-f "${NACL_LOADER}")
-fi
-
-run_test()
-{
-  local test_fifo="$1"
-  local cmd=(
-    "${emulator[@]}" "${ldr[@]}" -q -S -a "${ldr_args[@]}" -B "${NACL_IRT}"
-    "${loader[@]}" "${env[@]}" -E TEST_DIRECT="$test_fifo" -- "${test_args[@]}"
-  )
-  if [ "${NACLVERBOSITY:+set}" = set ]; then
-    "${cmd[@]}"
-  else
-    NACLLOG=/dev/null "${cmd[@]}"
-  fi
-}
-
-temp_files=()
-test_fifo=
-do_cleanup()
-{
-  rm -rf "$test_fifo" "${temp_files[@]}"
-}
-trap do_cleanup EXIT HUP INT TERM
-
-# Create a named pipe to receive the TEST_DIRECT information from the test
-# program.
-test_fifo=${TMPDIR:-/tmp}/libc-test-fifo.$$
-rm -f "$test_fifo"
-mkfifo "$test_fifo" || {
-  echo "Cannot create test FIFO '$test_fifo'"
-  exit 1
-}
-
-# Run the test in the background, so we can implement a timeout.
-# The no-op redirection defeats the default behavior of "< /dev/null"
-# for a background command.
-run_test "$test_fifo" <&0 & test_pid=$!
-
-# Set up a short timeout before we read from the FIFO, in case
-# the program doesn't actually write to the FIFO at all (it is
-# not a test-skeleton.c program, or it dies very early).
-no_skeleton=false
-script_pid=$$
-trap 'no_skeleton=true' USR1
-(sleep 2; kill -USR1 $script_pid) 2> /dev/null &
-
-# The test should first write into the FIFO to describe its expectations.
-# Our open-for-reading of the FIFO will block until the test starts up and
-# opens it for writing.  Then our reads will block until the test finishes
-# writing out info and closes the FIFO.  At that point we will have
-# collected (and evaluated) what it emitted.  It sets these variables:
-#	timeout=%u
-#	timeoutfactor=%u
-#	exit=%u
-#	signal=%s
-unset exit signal
-. "$test_fifo" 2> /dev/null
-
-# If we got this far, either the 'no_skeleton=true' watchdog already
-# fired, or else we don't want it to.
-trap '' USR1
-
-if $no_skeleton; then
-  # We hit the timeout, so we didn't get full information about test
-  # expectations.  Reset any partial results we may have gotten.
-  unset exit signal
-else
-  # Now we know the expected timeout, so we can start the timer running.
-  ((sleep_time = timeout * timeoutfactor * emulator_factor))
-
-  # Now start a background subshell to enforce the timeout.
-  (sleep "$sleep_time"; kill -ALRM $test_pid) 2> /dev/null &
-fi
-
-# This corresponds to '#ifdef EXPECTED_STATUS' in test-skeleton.c.
-expected_status()
-{
-  test "${exit+yes}" = yes
-}
-# This corresponds to '#ifdef EXPECTED_SIGNAL' in test-skeleton.c.
-expected_signal()
-{
-  test "${signal+yes}" = yes
-}
-# This corresponds to 'if (WIFEXITED (status))' in test-skeleton.c.
-wifexited()
-{
-  test $test_rc -lt 128
-}
-
-# Now wait for the test process to finish.
-wait $test_pid
-test_rc=$?
-
-# This exactly duplicates the logic in test-skeleton.c.
-if wifexited; then
-  if ! expected_status; then
-    if ! expected_signal; then
-      # Simply exit with the return value of the test.  */
-      exit $test_rc
-    else
-      echo "Expected signal '${signal}' from child, got none"
-      exit 1
-    fi
-  else
-    if [ $test_rc -ne $exit ]; then
-      echo "Expected status $exit, got $test_rc"
-      exit 1
-    fi
-    exit 0
-  fi
-else
-  # Process was killed by timer or other signal.
-  ((test_signal = test_rc > 192 ? 256 - test_rc : test_rc - 128 ))
-  test_signame=$(kill -l "$test_signal")
-  if ! expected_signal; then
-    echo "Didn't expect signal from child; got '${test_signame}'"
-    exit 1
-  else
-    if [ "$test_signame" != "$signal" ]; then
-      echo "\
-Incorrect signal from child: got '${test_signame}', need '${signal}'"
-      exit 1
-    fi
-    exit 0
-  fi
-fi
diff --git a/sysdeps/nacl/nacl_interface_ext_supply.c b/sysdeps/nacl/nacl_interface_ext_supply.c
deleted file mode 100644
index 8548005..0000000
--- a/sysdeps/nacl/nacl_interface_ext_supply.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Interface for the user to replace NaCl IRT interface functions.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-#include <string.h>
-
-size_t
-nacl_interface_ext_supply (const char *interface_ident,
-			   const void *table, size_t tablesize)
-{
-  const size_t ident_len = strlen (interface_ident) + 1;
-
-  /* Most interfaces are in rtld, so try there first.  If other
-     libraries ever get their own tables not used in libc, then we
-     will need some dynamic registration mechanism here to iterate
-     over all libraries' __nacl_supply_interface_libfoo calls.  */
-  if (0
-#ifdef SHARED
-      || __nacl_supply_interface_rtld (interface_ident, ident_len,
-				       table, tablesize)
-#endif
-      || __nacl_supply_interface_libc (interface_ident, ident_len,
-				       table, tablesize))
-    return tablesize;
-
-  return 0;
-}
diff --git a/sysdeps/nacl/nacl_interface_query.c b/sysdeps/nacl/nacl_interface_query.c
deleted file mode 100644
index a5ea543..0000000
--- a/sysdeps/nacl/nacl_interface_query.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* NaCl function exposing IRT interface query.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-#include <ldsodefs.h>
-
-#ifdef SHARED
-
-/* We can define this trivially using IFUNC rather than a wrapper
-   because we absolutely require that we get the IRT interface query
-   function pointer via AT_SYSINFO.  */
-
-extern TYPE_nacl_irt_query nacl_interface_query_ifunc (void)
-  asm ("nacl_interface_query");
-
-TYPE_nacl_irt_query
-inhibit_stack_protector
-nacl_interface_query_ifunc (void)
-{
-  return &__nacl_irt_query;
-}
-asm (".type nacl_interface_query, %gnu_indirect_function");
-
-#else
-
-/* In the static library, using IFUNC is just extra overhead.  */
-
-size_t
-nacl_interface_query (const char *interface_ident,
-                      void *table, size_t tablesize)
-{
-  return __nacl_irt_query (interface_ident, table, tablesize);
-}
-
-#endif
diff --git a/sysdeps/nacl/nanosleep.c b/sysdeps/nacl/nanosleep.c
deleted file mode 100644
index 4e94599..0000000
--- a/sysdeps/nacl/nanosleep.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* nanosleep -- Sleep for a duration given in nanoseconds.  NaCl version.
-   Copyright (C) 2015-2017 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 <time.h>
-#include <nacl-interfaces.h>
-
-
-/* Pause execution for a number of nanoseconds.  */
-int
-__libc_nanosleep (const struct timespec *requested_time,
-                  struct timespec *remaining)
-{
-  return NACL_CALL (__nacl_irt_basic.nanosleep (requested_time, remaining), 0);
-}
-
-weak_alias (__libc_nanosleep, __nanosleep)
-libc_hidden_def (__nanosleep)
-weak_alias (__libc_nanosleep, nanosleep)
diff --git a/sysdeps/nacl/open.c b/sysdeps/nacl/open.c
deleted file mode 100644
index 7b08eed..0000000
--- a/sysdeps/nacl/open.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Open a file by name.  NaCl version.
-   Copyright (C) 2015-2017 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 <fcntl.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <nacl-interfaces.h>
-
-
-/* Open FILE with access OFLAG.  If OFLAG includes O_CREAT,
-   a third argument is the file protection.  */
-int
-__libc_open (const char *file, int oflag, ...)
-{
-  mode_t mode = 0;
-
-  if (oflag & O_CREAT)
-    {
-      va_list arg;
-      va_start (arg, oflag);
-      mode = va_arg (arg, mode_t);
-      va_end (arg);
-    }
-
-  int fd;
-  return NACL_CALL (__nacl_irt_dev_filename.open (file, oflag, mode, &fd), fd);
-}
-libc_hidden_def (__libc_open)
-weak_alias (__libc_open, __open)
-libc_hidden_weak (__open)
-weak_alias (__libc_open, open)
-
-/* open64 is just an alias.  */
-strong_alias (__libc_open, __libc_open64)
-strong_alias (__libc_open64, __open64)
-libc_hidden_def (__open64)
-weak_alias (__libc_open64, open64)
diff --git a/sysdeps/nacl/open64.c b/sysdeps/nacl/open64.c
deleted file mode 100644
index b3e5563..0000000
--- a/sysdeps/nacl/open64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* open.c defines open64 as an alias.  */
diff --git a/sysdeps/nacl/preconfigure b/sysdeps/nacl/preconfigure
deleted file mode 100644
index c700fbc..0000000
--- a/sysdeps/nacl/preconfigure
+++ /dev/null
@@ -1,7 +0,0 @@
-# GNU C Library preconfigure fragment for sysdeps/nacl
-
-case "$config_machine-$config_os" in
-arm*-nacl*)
-  libc_config_ok=yes
-  ;;
-esac
diff --git a/sysdeps/nacl/profil.c b/sysdeps/nacl/profil.c
deleted file mode 100644
index 701d7ad..0000000
--- a/sysdeps/nacl/profil.c
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Side-step sysdeps/posix/profil.c, which uses sigaction and setitimer.  */
-#include <gmon/profil.c>
diff --git a/sysdeps/nacl/pthread-pids.h b/sysdeps/nacl/pthread-pids.h
deleted file mode 100644
index d9595df..0000000
--- a/sysdeps/nacl/pthread-pids.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Initialize pid and tid fields of struct pthread.  NaCl version.
-   Copyright (C) 2015-2017 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 <pthreadP.h>
-
-
-/* NaCl has no concept of PID or TID, nor even any notion of an
-   identifier for a thread within the process.  But various places in
-   the NPTL implementation rely on using the 'tid' field of the TCB
-   (struct pthread) as an identifier that is unique at least among all
-   live threads in the process.  So we must synthesize some number to
-   use.  Conveniently, the 'pthread_t' value itself is already unique
-   in exactly this way (because it's the 'struct pthread' pointer).
-
-   The only wrinkle is that 'tid' is a (32-bit) 'int' and its high
-   (sign) bit is used for special purposes, so we must be absolutely
-   sure that we never use a pointer value with the high bit set.  (It
-   also cannot be zero, but zero is never a valid pointer anyway.)
-   The NaCl sandbox models for 32-bit machines limit the address space
-   to less than 3GB (in fact, to 1GB), so it's already impossible that
-   a valid pointer will have its high bit set.  But the NaCl x86-64
-   sandbox model allows a full 4GB of address space, so we cannot
-   assume that an arbitrary pointer value will not have the high bit
-   set.  Conveniently, there are always unused bits in the pointer
-   value for a 'struct pthread', because it is always aligned to at
-   least 32 bits and so the low bits are always zero.  Hence, we can
-   safely avoid the danger of a nonzero high bit just by shifting the
-   pointer value right.  */
-
-static inline int
-__nacl_get_tid (struct pthread *pd)
-{
-  uintptr_t id = (uintptr_t) pd;
-  int tid = id >> 1;
-  assert ((id & 1) == 0);
-  assert (sizeof id == sizeof tid);
-  assert (tid > 0);
-  /* This ensures that NACL_EXITING_TID (lowlevellock.h) can never
-     be a valid TID value.  */
-  assert ((tid & 1) == 0);
-  return tid;
-}
-
-
-/* Initialize PD->pid and PD->tid for the initial thread.  If there is
-   setup required to arrange that __exit_thread causes PD->tid to be
-   cleared and futex-woken, then this function should do that as well.  */
-static inline void
-__pthread_initialize_pids (struct pthread *pd)
-{
-  pd->tid = __nacl_get_tid (pd);
-  pd->pid = -1;
-}
diff --git a/sysdeps/nacl/pthread_condattr_setclock.c b/sysdeps/nacl/pthread_condattr_setclock.c
deleted file mode 100644
index 25515e2..0000000
--- a/sysdeps/nacl/pthread_condattr_setclock.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Set the clock for timeouts on a condition variable.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include "pthreadP.h"
-
-
-int
-pthread_condattr_setclock (pthread_condattr_t *attr, clockid_t clock_id)
-{
-  switch (clock_id)
-    {
-    case CLOCK_REALTIME:
-      /* This is the default state and the only one actually supported.  */
-      return 0;
-
-    case CLOCK_MONOTONIC:
-      /* NaCl recognizes CLOCK_MONOTONIC for other purposes, so it is a
-         "known clock".  But NaCl doesn't support it for this purpose.  */
-      return ENOTSUP;
-
-    default:
-      /* The only other recognized clocks are CPU-time clocks,
-         which POSIX says should get EINVAL.  */
-      return EINVAL;
-    }
-}
diff --git a/sysdeps/nacl/read.c b/sysdeps/nacl/read.c
deleted file mode 100644
index c47013c..0000000
--- a/sysdeps/nacl/read.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* read -- Read data from a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Read NBYTES into BUF from FD.  Return the number read or -1.  */
-ssize_t
-__libc_read (int fd, void *buf, size_t nbytes)
-{
-  size_t nread;
-  return NACL_CALL (__nacl_irt_fdio.read (fd, buf, nbytes, &nread), nread);
-}
-libc_hidden_def (__libc_read)
-weak_alias (__libc_read, __read)
-libc_hidden_weak (__read)
-weak_alias (__libc_read, read)
diff --git a/sysdeps/nacl/readdir.c b/sysdeps/nacl/readdir.c
deleted file mode 100644
index a73bfe4..0000000
--- a/sysdeps/nacl/readdir.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* The compiler complains about aliases with nonmatching type signatures.
-   The types 'struct dirent' and 'struct dirent64' are actually identical
-   even though the compiler doesn't consider them to be.  So we hide the
-   declaration from the compiler.  */
-#define __readdir64     __avoid___readdir64_declaration
-#define readdir64       __avoid_readdir64_declaration
-#include <sysdeps/posix/readdir.c>
-#undef  __readdir64
-#undef  readdir64
-strong_alias (__readdir, __readdir64)
-weak_alias (__readdir64, readdir64)
diff --git a/sysdeps/nacl/readdir64.c b/sysdeps/nacl/readdir64.c
deleted file mode 100644
index f4806bf..0000000
--- a/sysdeps/nacl/readdir64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* readdir.c defines readdir64 as an alias.  */
diff --git a/sysdeps/nacl/readdir64_r.c b/sysdeps/nacl/readdir64_r.c
deleted file mode 100644
index c7830de..0000000
--- a/sysdeps/nacl/readdir64_r.c
+++ /dev/null
@@ -1 +0,0 @@
-/* readdir_r.c defines readdir64_r as an alias.  */
diff --git a/sysdeps/nacl/readdir_r.c b/sysdeps/nacl/readdir_r.c
deleted file mode 100644
index 3a9a717..0000000
--- a/sysdeps/nacl/readdir_r.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* The compiler complains about aliases with nonmatching type signatures.
-   The types 'struct dirent' and 'struct dirent64' are actually identical
-   even though the compiler doesn't consider them to be.  So we hide the
-   declaration from the compiler.  */
-#define readdir64_r     __avoid_readdir64_r_declaration
-#include <sysdeps/posix/readdir_r.c>
-#undef  readdir64_r
-weak_alias (__readdir_r, readdir64_r)
diff --git a/sysdeps/nacl/readlink.c b/sysdeps/nacl/readlink.c
deleted file mode 100644
index e95fb59..0000000
--- a/sysdeps/nacl/readlink.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Read the contents of a symbolic link.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Read the contents of the symbolic link PATH into no more than
-   LEN bytes of BUF.  The contents are not null-terminated.
-   Returns the number of characters read, or -1 for errors.  */
-ssize_t
-__readlink (const char *path, char *buf, size_t len)
-{
-  size_t nread;
-  return NACL_CALL (__nacl_irt_dev_filename.readlink (path, buf, len, &nread),
-                    nread);
-}
-weak_alias (__readlink, readlink)
diff --git a/sysdeps/nacl/rename.c b/sysdeps/nacl/rename.c
deleted file mode 100644
index 632a5ef..0000000
--- a/sysdeps/nacl/rename.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Rename a file.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Rename the file OLD to NEW.  */
-int
-rename (const char *old, const char *new)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.rename (old, new), 0);
-}
diff --git a/sysdeps/nacl/rmdir.c b/sysdeps/nacl/rmdir.c
deleted file mode 100644
index 6e48bb8..0000000
--- a/sysdeps/nacl/rmdir.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Remove a directory.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Remove the directory PATH.  */
-int
-__rmdir (const char *path)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.rmdir (path), 0);
-}
-weak_alias (__rmdir, rmdir)
diff --git a/sysdeps/nacl/sched_yield.c b/sysdeps/nacl/sched_yield.c
deleted file mode 100644
index 5250eab..0000000
--- a/sysdeps/nacl/sched_yield.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* sched_yield -- Yield the processor.  NaCl version.
-   Copyright (C) 2015-2017 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 <errno.h>
-#include <sched.h>
-#include <nacl-interfaces.h>
-
-
-/* Yield the processor.  */
-int
-__sched_yield (void)
-{
-  return NACL_CALL (__nacl_irt_basic.sched_yield (), 0);
-}
-libc_hidden_def (__sched_yield)
-weak_alias (__sched_yield, sched_yield)
diff --git a/sysdeps/nacl/shlib-versions b/sysdeps/nacl/shlib-versions
deleted file mode 100644
index c146d31..0000000
--- a/sysdeps/nacl/shlib-versions
+++ /dev/null
@@ -1,9 +0,0 @@
-# DEFAULT			Earliest symbol set
-# -------			-------------------
-DEFAULT				GLIBC_2.22
-
-# Library=version		Earliest symbol set (optional)
-# ---------------		------------------------------
-
-libc=0.1
-libm=0.1
diff --git a/sysdeps/nacl/sigaction.c b/sysdeps/nacl/sigaction.c
deleted file mode 100644
index 898486e..0000000
--- a/sysdeps/nacl/sigaction.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#if IS_IN (libpthread)
-
-/* This placeholder file prevents nptl/sigaction.c from being compiled.
-   For NaCl, there is no need for a separate sigaction in libpthread.  */
-
-#else
-
-/* Get the standard stub.  */
-#include <signal/sigaction.c>
-
-#endif
diff --git a/sysdeps/nacl/sprofil.c b/sysdeps/nacl/sprofil.c
deleted file mode 100644
index 96d4300..0000000
--- a/sysdeps/nacl/sprofil.c
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Side-step sysdeps/posix/sprofil.c, which uses sigaction and setitimer.  */
-#include <gmon/sprofil.c>
diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c
deleted file mode 100644
index dc05c80..0000000
--- a/sysdeps/nacl/start.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Entry-point for programs.  NaCl version.
-   Copyright (C) 2015-2017 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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 <stdint.h>
-#include <link.h>
-
-/* NaCl's elf32.h is incompatible with the real <elf.h>.  */
-#define NATIVE_CLIENT_SRC_INCLUDE_ELF32_H_
-#include <native_client/src/untrusted/nacl/nacl_startup.h>
-
-
-/* The application defines this, of course.  */
-extern int main (int argc, char **argv, char **envp);
-
-/* But maybe it defines this too, in which case it takes precedence.  */
-extern int __nacl_main (int argc, char **argv, char **envp)
-  __attribute__ ((weak));
-
-/* These are defined in libc.  */
-extern int __libc_csu_init (int argc, char **argv, char **envp);
-extern void __libc_csu_fini (void);
-extern void __libc_start_main (int (*main) (int, char **, char **),
-			       int argc, char **argv, ElfW(auxv_t) *auxv,
-			       int (*init) (int, char **, char **),
-			       void (*fini) (void),
-			       void (*rtld_fini) (void),
-			       void *stack_end);
-
-void
-_start (uint32_t info[])
-{
-  /* The generic code actually assumes that envp follows argv.  */
-
-  __libc_start_main (&__nacl_main ?: &main,
-		     nacl_startup_argc (info),
-		     nacl_startup_argv (info),
-		     nacl_startup_auxv (info),
-		     &__libc_csu_init, &__libc_csu_fini,
-		     nacl_startup_fini (info),
-		     __builtin_frame_address (0));
-
-  /* That should not return.  Make sure we crash if it did.  */
-  while (1)
-    __builtin_trap ();
-}
diff --git a/sysdeps/nacl/symlink.c b/sysdeps/nacl/symlink.c
deleted file mode 100644
index fba30ab..0000000
--- a/sysdeps/nacl/symlink.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Make a symbolic link.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Make a symbolic link to FROM called TO.  */
-int
-__symlink (const char *from, const char *to)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.symlink (from, to), 0);
-}
-weak_alias (__symlink, symlink)
diff --git a/sysdeps/nacl/tls.h b/sysdeps/nacl/tls.h
deleted file mode 100644
index 3d63057..0000000
--- a/sysdeps/nacl/tls.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Definition for thread-local data handling.  NaCl version.
-   Copyright (C) 2015-2017 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 _NACL_TLS_H
-#define _NACL_TLS_H	1
-
-#ifndef __ASSEMBLER__
-
-# include <nacl-interfaces.h>
-
-/* Code to initially initialize the thread pointer.  This might need
-   special attention since 'errno' is not yet available and if the
-   operation can cause a failure 'errno' must not be touched.  */
-# define TLS_INIT_TP(tcbp) \
-  ((*__nacl_irt_tls.tls_init) (tcbp) == 0 ? NULL : "tls_init call failed")
-
-/* Our use of dl_sysinfo is rather different from the Linux syscall
-   entry-point case.  We never need a thread-local copy of the value.  */
-# undef SETUP_THREAD_SYSINFO
-# undef CHECK_THREAD_SYSINFO
-# define SETUP_THREAD_SYSINFO(pd) ((void) (pd))
-# define CHECK_THREAD_SYSINFO(pd) ((void) (pd))
-
-#endif /* __ASSEMBLER__ */
-
-#endif  /* tls.h */
diff --git a/sysdeps/nacl/truncate.c b/sysdeps/nacl/truncate.c
deleted file mode 100644
index b4a5e8d..0000000
--- a/sysdeps/nacl/truncate.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Truncate a file (by name).  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Truncate PATH to LENGTH bytes.  */
-int
-__truncate (const char *path, off_t length)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.truncate (path, length), 0);
-}
-weak_alias (__truncate, truncate)
-
-/* truncate64 is the same as truncate.  */
-strong_alias (__truncate, __truncate64)
-weak_alias (__truncate64, truncate64)
diff --git a/sysdeps/nacl/truncate64.c b/sysdeps/nacl/truncate64.c
deleted file mode 100644
index 729d0d0..0000000
--- a/sysdeps/nacl/truncate64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* truncate64 is the same as truncate.  */
diff --git a/sysdeps/nacl/uname-values.h b/sysdeps/nacl/uname-values.h
deleted file mode 100644
index d19b7f6..0000000
--- a/sysdeps/nacl/uname-values.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Constant values for the uname function to return.  NaCl version.
-   Copyright (C) 2015-2017 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 must define these macros with string values:
-        UNAME_SYSNAME
-        UNAME_RELEASE
-        UNAME_VERSION
-        UNAME_MACHINE
-*/
-
-#ifndef UNAME_MACHINE
-# error "sysdeps/MACHINE/nacl/uname-values.h should define UNAME_MACHINE"
-#endif
-
-#define UNAME_SYSNAME "NaCl"
-#define UNAME_RELEASE "unknown"
-#define UNAME_VERSION "unknown"
diff --git a/sysdeps/nacl/unlink.c b/sysdeps/nacl/unlink.c
deleted file mode 100644
index 82b97c7..0000000
--- a/sysdeps/nacl/unlink.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Remove a file.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Remove the link named NAME.  */
-int
-__unlink (const char *name)
-{
-  return NACL_CALL (__nacl_irt_dev_filename.unlink (name), 0);
-}
-weak_alias (__unlink, unlink)
diff --git a/sysdeps/nacl/utimes.c b/sysdeps/nacl/utimes.c
deleted file mode 100644
index b9f0688..0000000
--- a/sysdeps/nacl/utimes.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Change the access and modification times of a file.  NaCl version.
-   Copyright (C) 2015-2017 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 <sys/time.h>
-#include <nacl-interfaces.h>
-
-/* Change the access time of FILE to TVP[0] and
-   the modification time of FILE to TVP[1].  */
-int
-__utimes (const char *file, const struct timeval tvp[2])
-{
-  return NACL_CALL (__nacl_irt_dev_filename.utimes (file, tvp), 0);
-}
-weak_alias (__utimes, utimes)
diff --git a/sysdeps/nacl/write.c b/sysdeps/nacl/write.c
deleted file mode 100644
index eda1b9f..0000000
--- a/sysdeps/nacl/write.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* write -- Write data to a file descriptor.  NaCl version.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-/* Write NBYTES of BUF to FD.  Return the number written, or -1.  */
-ssize_t
-__libc_write (int fd, const void *buf, size_t nbytes)
-{
-  size_t wrote;
-  return NACL_CALL (__nacl_irt_fdio.write (fd, buf, nbytes, &wrote), wrote);
-}
-libc_hidden_def (__libc_write)
-
-weak_alias (__libc_write, __write)
-libc_hidden_weak (__write)
-weak_alias (__libc_write, write)
diff --git a/sysdeps/nacl/xstat.c b/sysdeps/nacl/xstat.c
deleted file mode 100644
index 8c0b892..0000000
--- a/sysdeps/nacl/xstat.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Get stat information from a file name.  NaCl version.
-   Copyright (C) 2015-2017 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/>.  */
-
-/* Avoid the declaration so the compiler doesn't complain about the alias
-   with a different type signature.  It doesn't know that 'struct stat'
-   and 'struct stat64' are ABI-compatible.  */
-#define __xstat64 __xstat64_avoid
-#include <sys/stat.h>
-#undef  __xstat64
-
-#include <errno.h>
-#include <stddef.h>
-
-#include <xstatconv.h>
-
-#undef  stat
-
-/* Get file information about FILE in BUF.  */
-int
-__xstat (int vers, const char *file, struct stat *buf)
-{
-  nacl_abi_stat_t abi_buf;
-  return NACL_CALL (__nacl_irt_dev_filename.stat (file, &abi_buf),
-                    __xstat_conv (vers, &abi_buf, buf));
-}
-hidden_def (__xstat)
-weak_alias (__xstat, _xstat)
-
-strong_alias (__xstat, __xstat64)
-hidden_ver (__xstat, __xstat64)
diff --git a/sysdeps/nacl/xstat64.c b/sysdeps/nacl/xstat64.c
deleted file mode 100644
index 47db9b9..0000000
--- a/sysdeps/nacl/xstat64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* xstat.c defines __xstat64 as an alias.  */
diff --git a/sysdeps/nacl/xstatconv.c b/sysdeps/nacl/xstatconv.c
deleted file mode 100644
index 03caa6d..0000000
--- a/sysdeps/nacl/xstatconv.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Convert between the NaCl ABI's `struct stat' format, and libc's.
-   Copyright (C) 2015-2017 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 <string.h>
-#include <sys/stat.h>
-#include <xstatconv.h>
-
-internal_function
-int
-__xstat_conv (int vers, const struct nacl_abi_stat *kbuf, void *ubuf)
-{
-  /* It's kosher enough just to crash here, but there are some
-     existing NaCl tests that like to see EFAULT, and that's what
-     making the IRT call with NULL would give.  */
-  if (__glibc_unlikely (ubuf == NULL))
-    {
-      __set_errno (EFAULT);
-      return -1;
-    }
-
-  switch (vers)
-    {
-    case _STAT_VER_NACL:
-      /* Nothing to do.  The struct is in the form the NaCl ABI expects.  */
-      *(struct nacl_abi_stat *) ubuf = *kbuf;
-      break;
-
-    case _STAT_VER_LINUX:
-      {
-        struct stat *buf = ubuf;
-
-        /* Zero-fill the pad/unused fields.  */
-        memset (buf, 0, sizeof *buf);
-
-        /* Convert from NaCl IRT ABI `struct stat'.  */
-        buf->st_dev = kbuf->nacl_abi_st_dev;
-        buf->st_ino = kbuf->nacl_abi_st_ino;
-        buf->st_mode = kbuf->nacl_abi_st_mode;
-        buf->st_nlink = kbuf->nacl_abi_st_nlink;
-        buf->st_uid = kbuf->nacl_abi_st_uid;
-        buf->st_gid = kbuf->nacl_abi_st_gid;
-        buf->st_rdev = kbuf->nacl_abi_st_rdev;
-        buf->st_size = kbuf->nacl_abi_st_size;
-        buf->st_blksize = kbuf->nacl_abi_st_blksize;
-        buf->st_blocks = kbuf->nacl_abi_st_blocks;
-        buf->st_atim.tv_sec = kbuf->nacl_abi_st_atime;
-        buf->st_atim.tv_nsec = kbuf->nacl_abi_st_atimensec;
-        buf->st_mtim.tv_sec = kbuf->nacl_abi_st_mtime;
-        buf->st_mtim.tv_nsec = kbuf->nacl_abi_st_mtimensec;
-        buf->st_ctim.tv_sec = kbuf->nacl_abi_st_ctime;
-        buf->st_ctim.tv_nsec = kbuf->nacl_abi_st_ctimensec;
-      }
-      break;
-
-    default:
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return 0;
-}
diff --git a/sysdeps/nacl/xstatconv.h b/sysdeps/nacl/xstatconv.h
deleted file mode 100644
index 8bca828..0000000
--- a/sysdeps/nacl/xstatconv.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Convert between the NaCl ABI's `struct stat' format, and libc's.
-   Copyright (C) 2015-2017 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 <nacl-interfaces.h>
-
-#define NACL_IN_TOOLCHAIN_HEADERS
-
-struct stat;
-
-/* stat.h uses nacl_abi_off_t, but irt.h defines only nacl_irt_off_t.  */
-typedef nacl_irt_off_t nacl_abi_off_t;
-
-/* We use this header to define struct nacl_abi_stat.  */
-#include <native_client/src/trusted/service_runtime/include/bits/stat.h>
-
-extern int __xstat_conv (int vers, const struct nacl_abi_stat *, void *)
-  internal_function attribute_hidden;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |   25 +
 NEWS                                      |    3 +
 abi-tags                                  |    2 -
 sysdeps/arm/__longjmp.S                   |   40 +-
 sysdeps/arm/add_n.S                       |   27 +-
 sysdeps/arm/addmul_1.S                    |   18 +-
 sysdeps/arm/arm-mcount.S                  |    3 +-
 sysdeps/arm/armv6/rawmemchr.S             |   18 +-
 sysdeps/arm/armv6/strchr.S                |   18 +-
 sysdeps/arm/armv6/strcpy.S                |   55 +-
 sysdeps/arm/armv6/strlen.S                |   18 +-
 sysdeps/arm/armv6/strrchr.S               |    6 +-
 sysdeps/arm/armv6t2/memchr.S              |    9 +-
 sysdeps/arm/armv6t2/strlen.S              |   23 +-
 sysdeps/arm/armv7/multiarch/memcpy_impl.S |  581 +++------
 sysdeps/arm/armv7/strcmp.S                |   93 +-
 sysdeps/arm/dl-tlsdesc.S                  |   28 +-
 sysdeps/arm/memcpy.S                      |  124 +--
 sysdeps/arm/memmove.S                     |  124 +--
 sysdeps/arm/memset.S                      |   27 +-
 sysdeps/arm/nacl/Implies                  |    2 -
 sysdeps/arm/nacl/Makefile                 |   33 -
 sysdeps/arm/nacl/____longjmp_chk.S        |   47 -
 sysdeps/arm/nacl/aeabi_read_tp.S          |   44 -
 sysdeps/arm/nacl/arm-features.h           |   43 -
 sysdeps/arm/nacl/dl-machine.h             |   53 -
 sysdeps/arm/nacl/dl-trampoline.S          |  278 -----
 sysdeps/arm/nacl/include/bits/setjmp.h    |   41 -
 sysdeps/arm/nacl/libc.abilist             | 1855 -----------------------------
 sysdeps/arm/nacl/shlib-versions           |    4 -
 sysdeps/arm/nacl/start.c                  |    1 -
 sysdeps/arm/nacl/sysdep.h                 |   69 --
 sysdeps/arm/nacl/tls.h                    |    2 -
 sysdeps/arm/nacl/uname-values.h           |   20 -
 sysdeps/arm/setjmp.S                      |   36 +-
 sysdeps/arm/strlen.S                      |    6 +-
 sysdeps/arm/submul_1.S                    |   18 +-
 sysdeps/arm/sysdep.h                      |   52 +-
 sysdeps/nacl/Implies                      |    3 -
 sysdeps/nacl/Makefile                     |  145 ---
 sysdeps/nacl/Subdirs                      |    3 -
 sysdeps/nacl/Versions                     |   23 -
 sysdeps/nacl/_exit.c                      |   35 -
 sysdeps/nacl/access.c                     |   35 -
 sysdeps/nacl/backtrace.c                  |    1 -
 sysdeps/nacl/bits/dirent.h                |   52 -
 sysdeps/nacl/bits/fcntl.h                 |  145 ---
 sysdeps/nacl/bits/local_lim.h             |   64 -
 sysdeps/nacl/bits/mman.h                  |   24 -
 sysdeps/nacl/bits/param.h                 |   23 -
 sysdeps/nacl/bits/posix_opt.h             |  210 ----
 sysdeps/nacl/bits/stat.h                  |  147 ---
 sysdeps/nacl/bits/typesizes.h             |   72 --
 sysdeps/nacl/brk.c                        |   92 --
 sysdeps/nacl/chdir.c                      |   28 -
 sysdeps/nacl/check_fds.c                  |   23 -
 sysdeps/nacl/chmod.c                      |   28 -
 sysdeps/nacl/clock.c                      |   29 -
 sysdeps/nacl/clock_getres.c               |   28 -
 sysdeps/nacl/clock_gettime.c              |   29 -
 sysdeps/nacl/close.c                      |   31 -
 sysdeps/nacl/configure                    |   18 -
 sysdeps/nacl/configure.ac                 |   18 -
 sysdeps/nacl/createthread.c               |   47 -
 sysdeps/nacl/dl-fileid.h                  |    8 -
 sysdeps/nacl/dl-map-segments.h            |  269 -----
 sysdeps/nacl/dl-osinfo.h                  |   34 -
 sysdeps/nacl/dl-sysdep-open.h             |   40 -
 sysdeps/nacl/dl-sysdep.c                  |  112 --
 sysdeps/nacl/dl-sysdep.h                  |   30 -
 sysdeps/nacl/dl-unmap-segments.h          |   65 -
 sysdeps/nacl/dl-writev.h                  |   45 -
 sysdeps/nacl/dup.c                        |   31 -
 sysdeps/nacl/dup2.c                       |   31 -
 sysdeps/nacl/entry.h                      |    6 -
 sysdeps/nacl/errnos.awk                   |   87 --
 sysdeps/nacl/euidaccess.c                 |   29 -
 sysdeps/nacl/exit-thread.h                |   80 --
 sysdeps/nacl/fchdir.c                     |   28 -
 sysdeps/nacl/fchmod.c                     |   28 -
 sysdeps/nacl/fdatasync.c                  |   28 -
 sysdeps/nacl/fdopendir.c                  |   32 -
 sysdeps/nacl/fork.c                       |    3 -
 sysdeps/nacl/fsync.c                      |   27 -
 sysdeps/nacl/ftruncate.c                  |   32 -
 sysdeps/nacl/ftruncate64.c                |    1 -
 sysdeps/nacl/futex-internal.h             |  248 ----
 sysdeps/nacl/fxstat.c                     |   45 -
 sysdeps/nacl/fxstat64.c                   |    1 -
 sysdeps/nacl/getcwd.c                     |   56 -
 sysdeps/nacl/getdents.c                   |   29 -
 sysdeps/nacl/getdents64.c                 |    1 -
 sysdeps/nacl/getdtsz.c                    |   29 -
 sysdeps/nacl/gethostname.c                |   45 -
 sysdeps/nacl/getpagesize.c                |    1 -
 sysdeps/nacl/getpid.c                     |   32 -
 sysdeps/nacl/getsysstats.c                |   65 -
 sysdeps/nacl/gettimeofday.c               |   40 -
 sysdeps/nacl/glob.c                       |    2 -
 sysdeps/nacl/glob64.c                     |    1 -
 sysdeps/nacl/ifaddrs.c                    |    2 -
 sysdeps/nacl/init-first.c                 |   27 -
 sysdeps/nacl/iofdopen.c                   |   26 -
 sysdeps/nacl/irt.sed                      |   12 -
 sysdeps/nacl/isatty.c                     |   38 -
 sysdeps/nacl/kernel-features.h            |   21 -
 sysdeps/nacl/ld.abilist                   |   10 -
 sysdeps/nacl/ldsodefs.h                   |   35 -
 sysdeps/nacl/libBrokenLocale.abilist      |    2 -
 sysdeps/nacl/libanl.abilist               |    5 -
 sysdeps/nacl/libc-start.c                 |    4 -
 sysdeps/nacl/libcrypt.abilist             |    8 -
 sysdeps/nacl/libdl.abilist                |   10 -
 sysdeps/nacl/libm.abilist                 |  430 -------
 sysdeps/nacl/libpthread.abilist           |  175 ---
 sysdeps/nacl/libresolv.abilist            |   92 --
 sysdeps/nacl/librt.abilist                |   36 -
 sysdeps/nacl/libutil.abilist              |    7 -
 sysdeps/nacl/link.c                       |   28 -
 sysdeps/nacl/lll_timedlock_wait.c         |   53 -
 sysdeps/nacl/lll_timedwait_tid.c          |   61 -
 sysdeps/nacl/lowlevellock-futex.h         |   90 --
 sysdeps/nacl/lowlevellock.h               |   41 -
 sysdeps/nacl/lseek.c                      |   43 -
 sysdeps/nacl/lseek64.c                    |    1 -
 sysdeps/nacl/lxstat.c                     |   46 -
 sysdeps/nacl/lxstat64.c                   |    1 -
 sysdeps/nacl/mkdir.c                      |   28 -
 sysdeps/nacl/mmap.c                       |   49 -
 sysdeps/nacl/mmap64.c                     |    1 -
 sysdeps/nacl/mprotect.c                   |   33 -
 sysdeps/nacl/munmap.c                     |   32 -
 sysdeps/nacl/nacl-after-link.sh           |   69 --
 sysdeps/nacl/nacl-interface-list.h        |   45 -
 sysdeps/nacl/nacl-interface-table.c       |   43 -
 sysdeps/nacl/nacl-interfaces.c            |  165 ---
 sysdeps/nacl/nacl-interfaces.h            |  120 --
 sysdeps/nacl/nacl-interfaces.mk.in        |   25 -
 sysdeps/nacl/nacl-test-wrapper.sh         |  280 -----
 sysdeps/nacl/nacl_interface_ext_supply.c  |   42 -
 sysdeps/nacl/nacl_interface_query.c       |   50 -
 sysdeps/nacl/nanosleep.c                  |   33 -
 sysdeps/nacl/open.c                       |   52 -
 sysdeps/nacl/open64.c                     |    1 -
 sysdeps/nacl/preconfigure                 |    7 -
 sysdeps/nacl/profil.c                     |    2 -
 sysdeps/nacl/pthread-pids.h               |   68 --
 sysdeps/nacl/pthread_condattr_setclock.c  |   42 -
 sysdeps/nacl/read.c                       |   32 -
 sysdeps/nacl/readdir.c                    |   11 -
 sysdeps/nacl/readdir64.c                  |    1 -
 sysdeps/nacl/readdir64_r.c                |    1 -
 sysdeps/nacl/readdir_r.c                  |    8 -
 sysdeps/nacl/readlink.c                   |   32 -
 sysdeps/nacl/rename.c                     |   27 -
 sysdeps/nacl/rmdir.c                      |   28 -
 sysdeps/nacl/sched_yield.c                |   31 -
 sysdeps/nacl/shlib-versions               |    9 -
 sysdeps/nacl/sigaction.c                  |   11 -
 sysdeps/nacl/sprofil.c                    |    2 -
 sysdeps/nacl/start.c                      |   77 --
 sysdeps/nacl/symlink.c                    |   28 -
 sysdeps/nacl/tls.h                        |   41 -
 sysdeps/nacl/truncate.c                   |   32 -
 sysdeps/nacl/truncate64.c                 |    1 -
 sysdeps/nacl/uname-values.h               |   32 -
 sysdeps/nacl/unlink.c                     |   28 -
 sysdeps/nacl/utimes.c                     |   29 -
 sysdeps/nacl/write.c                      |   33 -
 sysdeps/nacl/xstat.c                      |   45 -
 sysdeps/nacl/xstat64.c                    |    1 -
 sysdeps/nacl/xstatconv.c                  |   76 --
 sysdeps/nacl/xstatconv.h                  |   32 -
 173 files changed, 470 insertions(+), 9509 deletions(-)
 delete mode 100644 sysdeps/arm/nacl/Implies
 delete mode 100644 sysdeps/arm/nacl/Makefile
 delete mode 100644 sysdeps/arm/nacl/____longjmp_chk.S
 delete mode 100644 sysdeps/arm/nacl/aeabi_read_tp.S
 delete mode 100644 sysdeps/arm/nacl/arm-features.h
 delete mode 100644 sysdeps/arm/nacl/dl-machine.h
 delete mode 100644 sysdeps/arm/nacl/dl-trampoline.S
 delete mode 100644 sysdeps/arm/nacl/include/bits/setjmp.h
 delete mode 100644 sysdeps/arm/nacl/libc.abilist
 delete mode 100644 sysdeps/arm/nacl/shlib-versions
 delete mode 100644 sysdeps/arm/nacl/start.c
 delete mode 100644 sysdeps/arm/nacl/sysdep.h
 delete mode 100644 sysdeps/arm/nacl/tls.h
 delete mode 100644 sysdeps/arm/nacl/uname-values.h
 delete mode 100644 sysdeps/nacl/Implies
 delete mode 100644 sysdeps/nacl/Makefile
 delete mode 100644 sysdeps/nacl/Subdirs
 delete mode 100644 sysdeps/nacl/Versions
 delete mode 100644 sysdeps/nacl/_exit.c
 delete mode 100644 sysdeps/nacl/access.c
 delete mode 100644 sysdeps/nacl/backtrace.c
 delete mode 100644 sysdeps/nacl/bits/dirent.h
 delete mode 100644 sysdeps/nacl/bits/fcntl.h
 delete mode 100644 sysdeps/nacl/bits/local_lim.h
 delete mode 100644 sysdeps/nacl/bits/mman.h
 delete mode 100644 sysdeps/nacl/bits/param.h
 delete mode 100644 sysdeps/nacl/bits/posix_opt.h
 delete mode 100644 sysdeps/nacl/bits/stat.h
 delete mode 100644 sysdeps/nacl/bits/typesizes.h
 delete mode 100644 sysdeps/nacl/brk.c
 delete mode 100644 sysdeps/nacl/chdir.c
 delete mode 100644 sysdeps/nacl/check_fds.c
 delete mode 100644 sysdeps/nacl/chmod.c
 delete mode 100644 sysdeps/nacl/clock.c
 delete mode 100644 sysdeps/nacl/clock_getres.c
 delete mode 100644 sysdeps/nacl/clock_gettime.c
 delete mode 100644 sysdeps/nacl/close.c
 delete mode 100644 sysdeps/nacl/configure
 delete mode 100644 sysdeps/nacl/configure.ac
 delete mode 100644 sysdeps/nacl/createthread.c
 delete mode 100644 sysdeps/nacl/dl-fileid.h
 delete mode 100644 sysdeps/nacl/dl-map-segments.h
 delete mode 100644 sysdeps/nacl/dl-osinfo.h
 delete mode 100644 sysdeps/nacl/dl-sysdep-open.h
 delete mode 100644 sysdeps/nacl/dl-sysdep.c
 delete mode 100644 sysdeps/nacl/dl-sysdep.h
 delete mode 100644 sysdeps/nacl/dl-unmap-segments.h
 delete mode 100644 sysdeps/nacl/dl-writev.h
 delete mode 100644 sysdeps/nacl/dup.c
 delete mode 100644 sysdeps/nacl/dup2.c
 delete mode 100644 sysdeps/nacl/entry.h
 delete mode 100644 sysdeps/nacl/errnos.awk
 delete mode 100644 sysdeps/nacl/euidaccess.c
 delete mode 100644 sysdeps/nacl/exit-thread.h
 delete mode 100644 sysdeps/nacl/fchdir.c
 delete mode 100644 sysdeps/nacl/fchmod.c
 delete mode 100644 sysdeps/nacl/fdatasync.c
 delete mode 100644 sysdeps/nacl/fdopendir.c
 delete mode 100644 sysdeps/nacl/fork.c
 delete mode 100644 sysdeps/nacl/fsync.c
 delete mode 100644 sysdeps/nacl/ftruncate.c
 delete mode 100644 sysdeps/nacl/ftruncate64.c
 delete mode 100644 sysdeps/nacl/futex-internal.h
 delete mode 100644 sysdeps/nacl/fxstat.c
 delete mode 100644 sysdeps/nacl/fxstat64.c
 delete mode 100644 sysdeps/nacl/getcwd.c
 delete mode 100644 sysdeps/nacl/getdents.c
 delete mode 100644 sysdeps/nacl/getdents64.c
 delete mode 100644 sysdeps/nacl/getdtsz.c
 delete mode 100644 sysdeps/nacl/gethostname.c
 delete mode 100644 sysdeps/nacl/getpagesize.c
 delete mode 100644 sysdeps/nacl/getpid.c
 delete mode 100644 sysdeps/nacl/getsysstats.c
 delete mode 100644 sysdeps/nacl/gettimeofday.c
 delete mode 100644 sysdeps/nacl/glob.c
 delete mode 100644 sysdeps/nacl/glob64.c
 delete mode 100644 sysdeps/nacl/ifaddrs.c
 delete mode 100644 sysdeps/nacl/init-first.c
 delete mode 100644 sysdeps/nacl/iofdopen.c
 delete mode 100644 sysdeps/nacl/irt.sed
 delete mode 100644 sysdeps/nacl/isatty.c
 delete mode 100644 sysdeps/nacl/kernel-features.h
 delete mode 100644 sysdeps/nacl/ld.abilist
 delete mode 100644 sysdeps/nacl/ldsodefs.h
 delete mode 100644 sysdeps/nacl/libBrokenLocale.abilist
 delete mode 100644 sysdeps/nacl/libanl.abilist
 delete mode 100644 sysdeps/nacl/libc-start.c
 delete mode 100644 sysdeps/nacl/libcrypt.abilist
 delete mode 100644 sysdeps/nacl/libdl.abilist
 delete mode 100644 sysdeps/nacl/libm.abilist
 delete mode 100644 sysdeps/nacl/libpthread.abilist
 delete mode 100644 sysdeps/nacl/libresolv.abilist
 delete mode 100644 sysdeps/nacl/librt.abilist
 delete mode 100644 sysdeps/nacl/libutil.abilist
 delete mode 100644 sysdeps/nacl/link.c
 delete mode 100644 sysdeps/nacl/lll_timedlock_wait.c
 delete mode 100644 sysdeps/nacl/lll_timedwait_tid.c
 delete mode 100644 sysdeps/nacl/lowlevellock-futex.h
 delete mode 100644 sysdeps/nacl/lowlevellock.h
 delete mode 100644 sysdeps/nacl/lseek.c
 delete mode 100644 sysdeps/nacl/lseek64.c
 delete mode 100644 sysdeps/nacl/lxstat.c
 delete mode 100644 sysdeps/nacl/lxstat64.c
 delete mode 100644 sysdeps/nacl/mkdir.c
 delete mode 100644 sysdeps/nacl/mmap.c
 delete mode 100644 sysdeps/nacl/mmap64.c
 delete mode 100644 sysdeps/nacl/mprotect.c
 delete mode 100644 sysdeps/nacl/munmap.c
 delete mode 100755 sysdeps/nacl/nacl-after-link.sh
 delete mode 100644 sysdeps/nacl/nacl-interface-list.h
 delete mode 100644 sysdeps/nacl/nacl-interface-table.c
 delete mode 100644 sysdeps/nacl/nacl-interfaces.c
 delete mode 100644 sysdeps/nacl/nacl-interfaces.h
 delete mode 100644 sysdeps/nacl/nacl-interfaces.mk.in
 delete mode 100755 sysdeps/nacl/nacl-test-wrapper.sh
 delete mode 100644 sysdeps/nacl/nacl_interface_ext_supply.c
 delete mode 100644 sysdeps/nacl/nacl_interface_query.c
 delete mode 100644 sysdeps/nacl/nanosleep.c
 delete mode 100644 sysdeps/nacl/open.c
 delete mode 100644 sysdeps/nacl/open64.c
 delete mode 100644 sysdeps/nacl/preconfigure
 delete mode 100644 sysdeps/nacl/profil.c
 delete mode 100644 sysdeps/nacl/pthread-pids.h
 delete mode 100644 sysdeps/nacl/pthread_condattr_setclock.c
 delete mode 100644 sysdeps/nacl/read.c
 delete mode 100644 sysdeps/nacl/readdir.c
 delete mode 100644 sysdeps/nacl/readdir64.c
 delete mode 100644 sysdeps/nacl/readdir64_r.c
 delete mode 100644 sysdeps/nacl/readdir_r.c
 delete mode 100644 sysdeps/nacl/readlink.c
 delete mode 100644 sysdeps/nacl/rename.c
 delete mode 100644 sysdeps/nacl/rmdir.c
 delete mode 100644 sysdeps/nacl/sched_yield.c
 delete mode 100644 sysdeps/nacl/shlib-versions
 delete mode 100644 sysdeps/nacl/sigaction.c
 delete mode 100644 sysdeps/nacl/sprofil.c
 delete mode 100644 sysdeps/nacl/start.c
 delete mode 100644 sysdeps/nacl/symlink.c
 delete mode 100644 sysdeps/nacl/tls.h
 delete mode 100644 sysdeps/nacl/truncate.c
 delete mode 100644 sysdeps/nacl/truncate64.c
 delete mode 100644 sysdeps/nacl/uname-values.h
 delete mode 100644 sysdeps/nacl/unlink.c
 delete mode 100644 sysdeps/nacl/utimes.c
 delete mode 100644 sysdeps/nacl/write.c
 delete mode 100644 sysdeps/nacl/xstat.c
 delete mode 100644 sysdeps/nacl/xstat64.c
 delete mode 100644 sysdeps/nacl/xstatconv.c
 delete mode 100644 sysdeps/nacl/xstatconv.h


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]