aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/arm/dl-machine.h12
-rw-r--r--sysdeps/generic/dl-sysdep.c2
-rw-r--r--sysdeps/unix/sysv/linux/bits/statvfs.h4
-rw-r--r--sysdeps/unix/sysv/linux/fstatvfs.c2
-rw-r--r--sysdeps/unix/sysv/linux/netinet/ip.h6
-rw-r--r--sysdeps/unix/sysv/linux/sys/mount.h4
6 files changed, 20 insertions, 10 deletions
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index 66b69d02db..e6a686e626 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -308,10 +308,10 @@ _dl_start_user:
/* Nonzero iff TYPE describes relocation of a PLT entry, so
PLT entries should not be allowed to define the value. */
-#define elf_machine_lookup_noplt_p(type) ((type) == R_ARM_JMP_SLOT)
+#define elf_machine_lookup_noplt_p(type) ((type) == R_ARM_JUMP_SLOT)
/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_ARM_JMP_SLOT
+#define ELF_MACHINE_JMP_SLOT R_ARM_JUMP_SLOT
/* The i386 never uses Elf32_Rela relocations. */
#define ELF_MACHINE_NO_RELA 1
@@ -397,7 +397,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
refsym->st_size));
break;
case R_ARM_GLOB_DAT:
- case R_ARM_JMP_SLOT:
+ case R_ARM_JUMP_SLOT:
#if 0
#define _HEX(i) for (j=28; j>=0; j-=4) b[7-j/4]="0123456789abcdef"[((int)i>>j)&15];
@@ -429,7 +429,7 @@ __asm__ (" mov r0, #2; mov r1, %0; mov r2, #2; swi 0x00900004; "
#endif
*reloc_addr = value;
break;
- case R_ARM_32:
+ case R_ARM_ABS32:
{
#ifndef RTLD_BOOTSTRAP
/* This is defined in rtld.c, but nowhere in the static
@@ -450,7 +450,7 @@ __asm__ (" mov r0, #2; mov r1, %0; mov r2, #2; swi 0x00900004; "
*reloc_addr += value;
break;
}
- case R_ARM_PC26:
+ case R_ARM_PC24:
*reloc_addr += (value - (Elf32_Addr) reloc_addr);
break;
default:
@@ -466,7 +466,7 @@ elf_machine_lazy_rel (struct link_map *map, const Elf32_Rel *reloc)
Elf32_Addr *const reloc_addr = (void *) (map->l_addr + reloc->r_offset);
switch (ELF32_R_TYPE (reloc->r_info))
{
- case R_ARM_JMP_SLOT:
+ case R_ARM_JUMP_SLOT:
*reloc_addr += map->l_addr;
break;
default:
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index 90beb8f269..758fb754e7 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -47,6 +47,8 @@ ElfW(Addr) _dl_base_addr;
int __libc_enable_secure;
int __libc_multiple_libcs; /* Defining this here avoids the inclusion
of init-first. */
+/* This variable contains the lowest stack address ever used. */
+void *__libc_stack_end;
static ElfW(auxv_t) *_dl_auxv;
unsigned long int _dl_hwcap_mask = HWCAP_IMPORTANT;
diff --git a/sysdeps/unix/sysv/linux/bits/statvfs.h b/sysdeps/unix/sysv/linux/bits/statvfs.h
index 85cdc9857b..fc63806848 100644
--- a/sysdeps/unix/sysv/linux/bits/statvfs.h
+++ b/sysdeps/unix/sysv/linux/bits/statvfs.h
@@ -87,6 +87,8 @@ enum
#define ST_APPEND ST_APPEND
ST_IMMUTABLE = 512, /* Immutable file. */
#define ST_IMMUTABLE ST_IMMUTABLE
- ST_NOATIME = 1024 /* Do not update access times. */
+ ST_NOATIME = 1024, /* Do not update access times. */
#define ST_NOATIME ST_NOATIME
+ ST_NODIRATIME /* Do not update directory access times. */
+#define ST_NODIRATIME ST_NODIRATIME
};
diff --git a/sysdeps/unix/sysv/linux/fstatvfs.c b/sysdeps/unix/sysv/linux/fstatvfs.c
index ef28bc693b..de926f49c4 100644
--- a/sysdeps/unix/sysv/linux/fstatvfs.c
+++ b/sysdeps/unix/sysv/linux/fstatvfs.c
@@ -155,6 +155,8 @@ fstatvfs (int fd, struct statvfs *buf)
buf->f_flag |= ST_MANDLOCK;
else if (strcmp (opt, "noatime") == 0)
buf->f_flag |= ST_NOATIME;
+ else if (strcmp (opt, "nodiratime") == 0)
+ buf->f_flag |= ST_NODIRATIME;
/* We can stop looking for more entries. */
break;
diff --git a/sysdeps/unix/sysv/linux/netinet/ip.h b/sysdeps/unix/sysv/linux/netinet/ip.h
index cb27ebf8aa..1add1b2b59 100644
--- a/sysdeps/unix/sysv/linux/netinet/ip.h
+++ b/sysdeps/unix/sysv/linux/netinet/ip.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 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
@@ -19,7 +19,7 @@
#ifndef __NETINET_IP_H
#define __NETINET_IP_H 1
-#include <sys/cdefs.h>
+#include <features.h>
#include <sys/types.h>
#include <netinet/in.h>
@@ -60,7 +60,9 @@ struct ip_options
u_int8_t router_alert;
u_int8_t __pad1;
u_int8_t __pad2;
+#ifdef __GNUC__
u_int8_t __data[0];
+#endif
};
struct iphdr
diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
index c9ace10822..589ecbc1c5 100644
--- a/sysdeps/unix/sysv/linux/sys/mount.h
+++ b/sysdeps/unix/sysv/linux/sys/mount.h
@@ -53,8 +53,10 @@ enum
#define S_APPEND S_APPEND
S_IMMUTABLE = 512, /* Immutable file. */
#define S_IMMUTABLE S_IMMUTABLE
- MS_NOATIME = 1024 /* Do not update access times. */
+ MS_NOATIME = 1024, /* Do not update access times. */
#define MS_NOATIME MS_NOATIME
+ MS_NODIRATIME = 2048 /* Do not update directory access times. */
+#define MS_NODIRATIME MS_NODIRATIME
};
/* Flags that can be altered by MS_REMOUNT */