diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-05-11 13:00:20 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-05-11 13:00:20 +0000 |
commit | 12b5b6b7f78ea111e89bbf638294a5413c791072 (patch) | |
tree | 2667efe9abc4443d7fe0350feed47d839ff7970c /sysdeps | |
parent | 5ac3d2173cc6a11535e1694a12f9f11e877c36ea (diff) | |
download | glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.tar.gz glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.tar.xz glibc-12b5b6b7f78ea111e89bbf638294a5413c791072.zip |
Update.
1999-05-11 Ulrich Drepper <drepper@cygnus.com> * elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy. * elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects lazily if LD_BIND_NOW is not set. * elf/dl-support.c (_dl_lazy): New variable. (non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar. * elf/rtld.c (_dl_lazy): new global variable. ( dl_main): Remove lazy, replace it by _dl_lazy. 1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * locale/setlocale.c (new_composite_name): Check also whether the first category name differs. 1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not the generic one. 1999-05-11 Philip Blundell <pb@nexus.co.uk> * sysdeps/generic/bits/socket.h (struct sockaddr_storage): New structure; storage suitable for any socket address. * sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage): Likewise. * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct sockaddr_storage): Likewise. * inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit platform.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/bits/socket.h | 23 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/socket.h | 19 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ftime.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/bits/socket.h | 21 |
4 files changed, 63 insertions, 4 deletions
diff --git a/sysdeps/generic/bits/socket.h b/sysdeps/generic/bits/socket.h index 480d5b592a..5eb29492b4 100644 --- a/sysdeps/generic/bits/socket.h +++ b/sysdeps/generic/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Generic/4.3 BSD version. - Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991,92,94,95,96,97,98,99 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 @@ -24,6 +24,9 @@ # error "Never include <bits/socket.h> directly; use <sys/socket.h> instead." #endif +#include <limits.h> +#include <bits/types.h> + #define __need_size_t #include <stddef.h> @@ -127,6 +130,24 @@ struct sockaddr }; +/* Structure large enough to hold any socket address (with the historical + exception of AF_UNIX). We reserve 128 bytes. */ +#if ULONG_MAX > 0xffffffff +# define __ss_align __uint64_t +#else +# define __ss_align __uint32_t +#endif +#define _SS_SIZE 128 +#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_align))) + +struct sockaddr_storage + { + __SOCKADDR_COMMON (__ss_); /* Address family, etc. */ + __ss_align __ss_align; /* Force desired alignment. */ + char __ss_padding[_SS_PADSIZE]; + }; + + /* Bits in the FLAGS argument to `send', `recv', et al. */ enum { diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h index 9733903c8b..37a9d930ff 100644 --- a/sysdeps/unix/sysv/linux/bits/socket.h +++ b/sysdeps/unix/sysv/linux/bits/socket.h @@ -28,6 +28,7 @@ #define __need_NULL #include <stddef.h> +#include <limits.h> #include <sys/types.h> /* Type for length arguments in socket calls. */ @@ -139,6 +140,24 @@ struct sockaddr }; +/* Structure large enough to hold any socket address (with the historical + exception of AF_UNIX). We reserve 128 bytes. */ +#if ULONG_MAX > 0xffffffff +# define __ss_aligntype __uint64_t +#else +# define __ss_aligntype __uint32_t +#endif +#define _SS_SIZE 128 +#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) + +struct sockaddr_storage + { + __SOCKADDR_COMMON (__ss_); /* Address family, etc. */ + __ss_aligntype __ss_align; /* Force desired alignment. */ + char __ss_padding[_SS_PADSIZE]; + }; + + /* Bits in the FLAGS argument to `send', `recv', et al. */ enum { diff --git a/sysdeps/unix/sysv/linux/ftime.c b/sysdeps/unix/sysv/linux/ftime.c index e8b5e6e60b..5a5949f608 100644 --- a/sysdeps/unix/sysv/linux/ftime.c +++ b/sysdeps/unix/sysv/linux/ftime.c @@ -1,3 +1,3 @@ /* Linux defines the ftime system call but doesn't actually implement - it. Use the generic implementation. */ -#include <sysdeps/generic/ftime.c> + it. Use the BSD implementation. */ +#include <sysdeps/unix/bsd/ftime.c> diff --git a/sysdeps/unix/sysv/linux/mips/bits/socket.h b/sysdeps/unix/sysv/linux/mips/bits/socket.h index cd85df7ef3..5dbdee419f 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/socket.h +++ b/sysdeps/unix/sysv/linux/mips/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Linux/MIPS version. - Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991,92,94,95,96,97,98,99 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 @@ -28,6 +28,7 @@ #define __need_NULL #include <stddef.h> +#include <limits.h> #include <sys/types.h> /* Type for length arguments in socket calls. */ @@ -133,6 +134,24 @@ struct sockaddr }; +/* Structure large enough to hold any socket address (with the historical + exception of AF_UNIX). We reserve 128 bytes. */ +#if ULONG_MAX > 0xffffffff +# define __ss_align __uint64_t +#else +# define __ss_align __uint32_t +#endif +#define _SS_SIZE 128 +#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof(__ss_align))) + +struct sockaddr_storage + { + __SOCKADDR_COMMON (__ss_); /* Address family, etc. */ + __ss_align __ss_align; /* Force desired alignment. */ + char __ss_padding[_SS_PADSIZE]; + }; + + /* Bits in the FLAGS argument to `send', `recv', et al. */ enum { |