mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-08 18:30:18 +00:00
Use max_align_t from <stddef.h>.
Now that we build with -std=gnu11 and can rely on a compiler providing max_align_t in <stddef.h>, we no longer need our own version libc_max_align_t. This patch removes it and replaces the single user with a use of max_align_t. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch for x86_64; for x86, I see some code reordering of no significance). * include/libc-internal.h (libc_max_align_t): Remove typedef. * include/scratch_buffer.h: Include <stddef.h> instead of <libc-internal.h>. (struct scratch_buffer): Use max_align_t instead of libc_max_align_t.
This commit is contained in:
parent
58acfe6fa7
commit
dbb7600658
@ -1,3 +1,11 @@
|
||||
2015-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* include/libc-internal.h (libc_max_align_t): Remove typedef.
|
||||
* include/scratch_buffer.h: Include <stddef.h> instead of
|
||||
<libc-internal.h>.
|
||||
(struct scratch_buffer): Use max_align_t instead of
|
||||
libc_max_align_t.
|
||||
|
||||
2015-10-29 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* elf/dl-fini.c (_dl_fini): Rewrite to use variable-length array
|
||||
|
@ -111,13 +111,4 @@ extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
|
||||
#define DIAG_IGNORE_NEEDS_COMMENT(version, option) \
|
||||
_Pragma (_DIAG_STR (GCC diagnostic ignored option))
|
||||
|
||||
/* This mirrors the C11 max_align_t type provided by GCC, but it is
|
||||
also available in C99 mode. The aligned attributes are required
|
||||
because some ABIs have reduced alignment requirements for struct
|
||||
and union members. */
|
||||
typedef struct {
|
||||
long long ll __attribute__ ((__aligned__ (__alignof__ (long long))));
|
||||
long double ld __attribute__ ((__aligned__ (__alignof__ (long double))));
|
||||
} libc_max_align_t;
|
||||
|
||||
#endif /* _LIBC_INTERNAL */
|
||||
|
@ -58,17 +58,16 @@
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <libc-internal.h>
|
||||
|
||||
/* Scratch buffer. Must be initialized with scratch_buffer_init
|
||||
before its use. */
|
||||
struct scratch_buffer {
|
||||
void *data; /* Pointer to the beginning of the scratch area. */
|
||||
size_t length; /* Allocated space at the data pointer, in bytes. */
|
||||
char __space[1024]
|
||||
__attribute__ ((aligned (__alignof__ (libc_max_align_t))));
|
||||
__attribute__ ((aligned (__alignof__ (max_align_t))));
|
||||
};
|
||||
|
||||
/* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space
|
||||
|
Loading…
Reference in New Issue
Block a user