aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/add_n.S3
-rw-r--r--sysdeps/i386/addmul_1.S3
-rw-r--r--sysdeps/i386/dl-machine.h4
-rw-r--r--sysdeps/i386/fpu/__math.h6
-rw-r--r--sysdeps/i386/lshift.S3
-rw-r--r--sysdeps/i386/rshift.S3
-rw-r--r--sysdeps/i386/sub_n.S3
-rw-r--r--sysdeps/i386/submul_1.S3
-rw-r--r--sysdeps/libm-ieee754/s_fmin.c2
-rw-r--r--sysdeps/powerpc/fenvbits.h2
-rw-r--r--sysdeps/powerpc/fraiseexcpt.c4
-rw-r--r--sysdeps/powerpc/strlen.s10
-rw-r--r--sysdeps/unix/arm/brk.S43
-rw-r--r--sysdeps/unix/arm/sysdep.S49
-rw-r--r--sysdeps/unix/sysv/linux/Dist3
-rw-r--r--sysdeps/unix/sysv/linux/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.S51
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h8
-rw-r--r--sysdeps/unix/sysv/linux/net/if_arp.h2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c35
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Dist1
-rw-r--r--sysdeps/wordsize-32/Dist1
-rw-r--r--sysdeps/wordsize-32/Makefile3
-rw-r--r--sysdeps/wordsize-64/Dist1
-rw-r--r--sysdeps/wordsize-64/Makefile3
26 files changed, 195 insertions, 55 deletions
diff --git a/sysdeps/i386/add_n.S b/sysdeps/i386/add_n.S
index a68fe2ed39..55c5dda446 100644
--- a/sysdeps/i386/add_n.S
+++ b/sysdeps/i386/add_n.S
@@ -32,6 +32,7 @@
.text
ALIGN (3)
.globl C_SYMBOL_NAME(__mpn_add_n)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_add_n),@function)
C_SYMBOL_NAME(__mpn_add_n:)
pushl %edi
pushl %esi
@@ -102,3 +103,5 @@ L(oop): movl (%esi),%eax
popl %esi
popl %edi
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_add_n)) \ No newline at end of file
diff --git a/sysdeps/i386/addmul_1.S b/sysdeps/i386/addmul_1.S
index 3e2c5cd616..8194ec495e 100644
--- a/sysdeps/i386/addmul_1.S
+++ b/sysdeps/i386/addmul_1.S
@@ -37,6 +37,7 @@
TEXT
ALIGN (3)
GLOBL C_SYMBOL_NAME(__mpn_addmul_1)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_addmul_1),@function)
C_SYMBOL_NAME(__mpn_addmul_1:)
INSN1(push,l ,R(edi))
@@ -72,3 +73,5 @@ L(oop):
INSN1(pop,l ,R(esi))
INSN1(pop,l ,R(edi))
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_addmul_1))
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index 3e0f9b126c..6efa32bcd1 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -253,7 +253,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
#endif
*reloc_addr += map->l_addr;
}
- else
+ else if (ELF32_R_TYPE (reloc->r_info) != R_386_NONE)
{
const Elf32_Sym *const refsym = sym;
Elf32_Addr value = RESOLVE (&sym, version, ELF32_R_TYPE (reloc->r_info));
@@ -305,8 +305,6 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
case R_386_PC32:
*reloc_addr += (value - (Elf32_Addr) reloc_addr);
break;
- case R_386_NONE: /* Alright, Wilbur. */
- break;
default:
assert (! "unexpected dynamic reloc type");
break;
diff --git a/sysdeps/i386/fpu/__math.h b/sysdeps/i386/fpu/__math.h
index d5945e8ca2..9e1c23cec0 100644
--- a/sysdeps/i386/fpu/__math.h
+++ b/sysdeps/i386/fpu/__math.h
@@ -382,13 +382,17 @@ hypot (double __x, double __y)
return sqrt (__x * __x + __y * __y);
}
+/* We cannot rely on M_SQRT being defined. So we do it for ourself
+ here. */
+#define __M_SQRT2 _Mldbl(1.41421356237309504880) /* sqrt(2) */
+
__MATH_INLINE double log1p (double __x);
__MATH_INLINE double
log1p (double __x)
{
register double __value;
- if (fabs (__x) >= 1.0 - 0.5 * M_SQRT2)
+ if (fabs (__x) >= 1.0 - 0.5 * __M_SQRT2)
__value = log (1.0 + __x);
else
__asm __volatile__
diff --git a/sysdeps/i386/lshift.S b/sysdeps/i386/lshift.S
index cd6d95b62e..2f629b0303 100644
--- a/sysdeps/i386/lshift.S
+++ b/sysdeps/i386/lshift.S
@@ -31,6 +31,7 @@
.text
ALIGN (3)
.globl C_SYMBOL_NAME(__mpn_lshift)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_lshift),@function)
C_SYMBOL_NAME(__mpn_lshift:)
pushl %edi
pushl %esi
@@ -81,3 +82,5 @@ L(end): shll %cl,%ebx /* compute least significant limb */
popl %esi
popl %edi
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_lshift)) \ No newline at end of file
diff --git a/sysdeps/i386/rshift.S b/sysdeps/i386/rshift.S
index f00f9d59f2..a0382672de 100644
--- a/sysdeps/i386/rshift.S
+++ b/sysdeps/i386/rshift.S
@@ -31,6 +31,7 @@
.text
ALIGN (3)
.globl C_SYMBOL_NAME(__mpn_rshift)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_rshift),@function)
C_SYMBOL_NAME(__mpn_rshift:)
pushl %edi
pushl %esi
@@ -83,3 +84,5 @@ L(end): shrl %cl,%ebx /* compute most significant limb */
popl %esi
popl %edi
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_rshift)) \ No newline at end of file
diff --git a/sysdeps/i386/sub_n.S b/sysdeps/i386/sub_n.S
index 229734c2e9..c41c9a6408 100644
--- a/sysdeps/i386/sub_n.S
+++ b/sysdeps/i386/sub_n.S
@@ -32,6 +32,7 @@
.text
ALIGN (3)
.globl C_SYMBOL_NAME(__mpn_sub_n)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_sub_n),@function)
C_SYMBOL_NAME(__mpn_sub_n:)
pushl %edi
pushl %esi
@@ -102,3 +103,5 @@ L(oop): movl (%esi),%eax
popl %esi
popl %edi
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_sub_n)) \ No newline at end of file
diff --git a/sysdeps/i386/submul_1.S b/sysdeps/i386/submul_1.S
index 8efef7609f..6bba494417 100644
--- a/sysdeps/i386/submul_1.S
+++ b/sysdeps/i386/submul_1.S
@@ -37,6 +37,7 @@
TEXT
ALIGN (3)
GLOBL C_SYMBOL_NAME(__mpn_submul_1)
+ ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__mpn_submul_1),@function)
C_SYMBOL_NAME(__mpn_submul_1:)
INSN1(push,l ,R(edi))
@@ -72,3 +73,5 @@ L(oop):
INSN1(pop,l ,R(esi))
INSN1(pop,l ,R(edi))
ret
+
+ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__mpn_addmul_1))
diff --git a/sysdeps/libm-ieee754/s_fmin.c b/sysdeps/libm-ieee754/s_fmin.c
index f9a937c850..b79e6eca5a 100644
--- a/sysdeps/libm-ieee754/s_fmin.c
+++ b/sysdeps/libm-ieee754/s_fmin.c
@@ -28,6 +28,6 @@ __fmin (double x, double y)
}
weak_alias (__fmin, fmin)
#ifdef NO_LONG_DOUBLE
-strong_alias (__fmim, __fminl)
+strong_alias (__fmin, __fminl)
weak_alias (__fmin, fminl)
#endif
diff --git a/sysdeps/powerpc/fenvbits.h b/sysdeps/powerpc/fenvbits.h
index 867ea5f5b4..8acd0ab8a4 100644
--- a/sysdeps/powerpc/fenvbits.h
+++ b/sysdeps/powerpc/fenvbits.h
@@ -85,7 +85,7 @@ enum
FE_INVALID_INTEGER_CONVERSION = 1 << 31-23,
#define FE_INVALID_INTEGER_CONVERSION FE_INVALID_INTEGER_CONVERSION
-#define __FE_ALL_INVALID \
+#define FE_ALL_INVALID \
(FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
| FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
| FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
diff --git a/sysdeps/powerpc/fraiseexcpt.c b/sysdeps/powerpc/fraiseexcpt.c
index aa8f1fcdc6..4305c3dcd2 100644
--- a/sysdeps/powerpc/fraiseexcpt.c
+++ b/sysdeps/powerpc/fraiseexcpt.c
@@ -34,9 +34,9 @@ feraiseexcept (int excepts)
/* Add the exceptions */
u.l[1] = (u.l[1]
- | excepts & __FPSCR_STICKY_BITS
+ | excepts & FPSCR_STICKY_BITS
/* Turn FE_INVALID into FE_INVALID_SOFTWARE. */
- | excepts << (31 - 21) - (31 - 24) & __FE_INVALID_SOFTWARE);
+ | excepts << (31 - 21) - (31 - 24) & FE_INVALID_SOFTWARE);
/* Store the new status word (along with the rest of the environment),
triggering any appropriate exceptions. */
diff --git a/sysdeps/powerpc/strlen.s b/sysdeps/powerpc/strlen.s
index fa1c670912..9d671cabc3 100644
--- a/sysdeps/powerpc/strlen.s
+++ b/sysdeps/powerpc/strlen.s
@@ -100,8 +100,8 @@ strlen:
bne done0
# Handle second word of pair. Put addi between branches to avoid hurting
# branch prediction.
- addi %r6,%r6,0xfffffeff
-
+ addi %r6,%r6,-0x101
+
bne %cr1,loop
lwzu %r8,4(%r4)
and %r0,%r7,%r8
@@ -111,7 +111,7 @@ strlen:
bne done0
# The loop.
-
+
loop: lwz %r8,4(%r4)
lwzu %r9,8(%r4)
add %r0,%r6,%r8
@@ -127,12 +127,12 @@ loop: lwz %r8,4(%r4)
add %r0,%r0,%r7
andc %r8,%r12,%r0
b done0
-
+
done1: and %r0,%r7,%r8
subi %r4,%r4,4
add %r0,%r0,%r7
andc %r8,%r10,%r0
-
+
# When we get to here, r4 points to the first word in the string that
# contains a zero byte, and the most significant set bit in r8 is in that
# byte.
diff --git a/sysdeps/unix/arm/brk.S b/sysdeps/unix/arm/brk.S
new file mode 100644
index 0000000000..a801674283
--- /dev/null
+++ b/sysdeps/unix/arm/brk.S
@@ -0,0 +1,43 @@
+/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB. If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA. */
+
+#include <sysdep.h>
+
+#ifndef SYS_brk
+#define SYS_brk 17
+#endif
+
+.data
+.globl C_SYMBOL_NAME(__curbrk)
+C_LABEL(__curbrk)
+#ifdef HAVE_GNU_LD
+ .long C_SYMBOL_NAME(_end)
+#else
+ .long C_SYMBOL_NAME(end)
+#endif
+
+.text
+SYSCALL__ (brk, 1)
+ ldr r1, _cb_addr
+ str r0, [r1]
+ mov r0, $0
+ RETINSTR(mov, pc, r14)
+_cb_addr: .long C_SYMBOL_NAME(__curbrk)
+
+
+weak_alias (__brk, brk)
diff --git a/sysdeps/unix/arm/sysdep.S b/sysdeps/unix/arm/sysdep.S
new file mode 100644
index 0000000000..5d3ad551c6
--- /dev/null
+++ b/sysdeps/unix/arm/sysdep.S
@@ -0,0 +1,49 @@
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <errnos.h>
+
+.globl C_SYMBOL_NAME(errno)
+.globl syscall_error
+
+_errno_loc: .long C_SYMBOL_NAME(errno)
+
+#undef syscall_error
+#ifdef NO_UNDERSCORES
+__syscall_error:
+#else
+syscall_error:
+#endif
+#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
+ /* We translate the system's EWOULDBLOCK error into EAGAIN.
+ The GNU C library always defines EWOULDBLOCK==EAGAIN.
+ EWOULDBLOCK_sys is the original number. */
+ cmp r0, $EWOULDBLOCK_sys /* Is it the old EWOULDBLOCK? */
+ moveq r0, $EAGAIN /* Yes; translate it to EAGAIN. */
+#endif
+#ifndef PIC
+ ldr r1, _errno_loc
+ str r0, [r1]
+#endif
+ mvn r0, $0
+ RETINSTR(mov, pc, r14)
+
+#undef __syscall_error
+END (__syscall_error)
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index d4b6bac217..fc403871f3 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -13,8 +13,7 @@ net/if_ppp.h
net/ppp-comp.h
net/ppp_defs.h
net/route.h
-netatalk/atalk.h
-netinet/icmp.h
+netatalk/at.h
netinet/if_fddi.h
netinet/if_tr.h
netinet/igmp.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 4e698ce1d8..c61904a3b8 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -55,7 +55,8 @@ endif
ifeq ($(subdir),inet)
sysdep_headers += netinet/in_systm.h netinet/udp.h \
netinet/if_fddi.h netinet/if_tr.h netinet/igmp.h \
- netinet/ip_fw.h netinet/ip_icmp.h sys/socketvar.h
+ netinet/ip_fw.h netinet/ip_icmp.h netipx/ipx.h \
+ sys/socketvar.h
endif
# Don't compile the ctype glue code, since there is no old non-GNU C library.
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.S b/sysdeps/unix/sysv/linux/arm/sysdep.S
new file mode 100644
index 0000000000..a71181c911
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.S
@@ -0,0 +1,51 @@
+/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <sysdep.h>
+
+/* We define errno here, to be consistent with Linux/i386. */
+ .bss
+ .globl errno
+ .type errno,@object
+ .size errno,4
+errno: .zero 4
+ .globl _errno
+ .type _errno,@object
+_errno = errno /* This name is expected by hj's libc.so.5 startup code. */
+ .text
+
+/* The following code is only used in the shared library when we
+ compile the reentrant version. Otherwise each system call defines
+ each own version. */
+
+#ifndef PIC
+
+/* The syscall stubs jump here when they detect an error.
+ The code for Linux is almost identical to the canonical Unix/i386
+ code, except that the error number in %eax is negated. */
+
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %eax. */
+
+ENTRY (__syscall_error)
+ mvn r0, r0
+
+#define __syscall_error __syscall_error_1
+#include <sysdeps/unix/arm/sysdep.S>
+
+#endif /* !PIC */
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index a38e4b3531..66fbeca73e 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -62,6 +62,7 @@
/* Store (- %eax) into errno through the GOT. */
#ifdef _LIBC_REENTRANT
#define SYSCALL_ERROR_HANDLER \
+ .type syscall_error,@function; \
syscall_error: \
pushl %ebx; \
call 0f; \
@@ -77,11 +78,13 @@ syscall_error: \
popl %ebx; \
movl %ecx, (%eax); \
movl $-1, %eax; \
- ret;
+ ret; \
+ .size syscall_error,.-syscall_error;
/* A quick note: it is assumed that the call to `__errno_location' does
not modify the stack! */
#else
#define SYSCALL_ERROR_HANDLER \
+ .type syscall_error,@function; \
syscall_error: \
call 0f; \
0:popl %ecx; \
@@ -91,7 +94,8 @@ syscall_error: \
movl errno@GOT(%ecx), %ecx; \
movl %edx, (%ecx); \
movl $-1, %eax; \
- ret;
+ ret; \
+ .size syscall_error,.-syscall_error;
#endif /* _LIBC_REENTRANT */
#endif /* PIC */
diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h
index b1cd18360e..d784f0cfc7 100644
--- a/sysdeps/unix/sysv/linux/net/if_arp.h
+++ b/sysdeps/unix/sysv/linux/net/if_arp.h
@@ -90,6 +90,8 @@ struct arphdr
#define ARPHRD_ROSE 270
#define ARPHRD_X25 271 /* CCITT X.25. */
#define ARPHRD_PPP 512
+#define ARPHRD_HDLC 513 /* (Cisco) HDLC. */
+#define ARPHRD_LAPB 516 /* LAPB. */
#define ARPHRD_TUNNEL 768 /* IPIP tunnel. */
#define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel. */
diff --git a/sysdeps/unix/sysv/linux/powerpc/Dist b/sysdeps/unix/sysv/linux/powerpc/Dist
index c8c265c474..27a951f169 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Dist
+++ b/sysdeps/unix/sysv/linux/powerpc/Dist
@@ -1,7 +1,6 @@
clone.S
ioctl-types.h
termbits.h
-termios.h
kernel_stat.h
kernel_termios.h
sys/kernel_termios.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
index 1c79f6a93c..7280315933 100644
--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -149,38 +149,3 @@ _dl_sysdep_open_zero_fill (void)
return __open ("/dev/zero", O_RDONLY);
}
#endif
-
-/* Read the whole contents of FILE into new mmap'd space with given
- protections. *SIZEP gets the size of the file. */
-
-void *
-_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot)
-{
- void *result;
- struct stat st;
- int fd = __open (file, O_RDONLY);
- if (fd < 0)
- return NULL;
- if (__fstat (fd, &st) < 0)
- result = NULL;
- else
- {
- /* Map a copy of the file contents. */
- result = __mmap (0, st.st_size, prot,
-#ifdef MAP_COPY
- MAP_COPY
-#else
- MAP_PRIVATE
-#endif
-#ifdef MAP_FILE
- | MAP_FILE
-#endif
- , fd, 0);
- if (result == (void *) -1)
- result = NULL;
- else
- *sizep = st.st_size;
- }
- __close (fd);
- return result;
-}
diff --git a/sysdeps/unix/sysv/linux/sparc/Dist b/sysdeps/unix/sysv/linux/sparc/Dist
index ab22392c04..c31f140137 100644
--- a/sysdeps/unix/sysv/linux/sparc/Dist
+++ b/sysdeps/unix/sysv/linux/sparc/Dist
@@ -1,6 +1,5 @@
__sigtrampoline.S
clone.S
-start.c
pipe.S
fork.S
kernel_stat.h
diff --git a/sysdeps/wordsize-32/Dist b/sysdeps/wordsize-32/Dist
new file mode 100644
index 0000000000..625e4d0fc7
--- /dev/null
+++ b/sysdeps/wordsize-32/Dist
@@ -0,0 +1 @@
+inttypes.h \ No newline at end of file
diff --git a/sysdeps/wordsize-32/Makefile b/sysdeps/wordsize-32/Makefile
new file mode 100644
index 0000000000..73b64ed054
--- /dev/null
+++ b/sysdeps/wordsize-32/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),stdlib)
+sysdep_headers += inttypes.h
+endif \ No newline at end of file
diff --git a/sysdeps/wordsize-64/Dist b/sysdeps/wordsize-64/Dist
new file mode 100644
index 0000000000..625e4d0fc7
--- /dev/null
+++ b/sysdeps/wordsize-64/Dist
@@ -0,0 +1 @@
+inttypes.h \ No newline at end of file
diff --git a/sysdeps/wordsize-64/Makefile b/sysdeps/wordsize-64/Makefile
new file mode 100644
index 0000000000..73b64ed054
--- /dev/null
+++ b/sysdeps/wordsize-64/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),stdlib)
+sysdep_headers += inttypes.h
+endif \ No newline at end of file