mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 04:50:07 +00:00
* elf/dl-reloc.c (allocate_static_tls): Fix calculations.
From Jakub Jelinek <jakub@redhat.com>. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Revert last change, which duplicated the O_DIRECT defn. 2003-03-01 GOTO Masanori <gotom@debian.or.jp> * stdlib/stdlib.h: Add missing __USE_BSD enclosure for BSD derived random functions. * resolv/Makefile (tests): Don't depend on $(objpfx)mtrace-tst-leaks when cross compiling.
This commit is contained in:
parent
f88658e9b9
commit
7ed33cba81
16
ChangeLog
16
ChangeLog
@ -1,5 +1,21 @@
|
|||||||
|
2003-03-01 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-reloc.c (allocate_static_tls): Fix calculations.
|
||||||
|
From Jakub Jelinek <jakub@redhat.com>.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Revert last change,
|
||||||
|
which duplicated the O_DIRECT defn.
|
||||||
|
|
||||||
|
2003-03-01 GOTO Masanori <gotom@debian.or.jp>
|
||||||
|
|
||||||
|
* stdlib/stdlib.h: Add missing __USE_BSD enclosure for BSD derived
|
||||||
|
random functions.
|
||||||
|
|
||||||
2003-03-01 Andreas Schwab <schwab@suse.de>
|
2003-03-01 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
|
* resolv/Makefile (tests): Don't depend on
|
||||||
|
$(objpfx)mtrace-tst-leaks when cross compiling.
|
||||||
|
|
||||||
* sysdeps/m68k/dl-machine.h (_dl_start_user): Access
|
* sysdeps/m68k/dl-machine.h (_dl_start_user): Access
|
||||||
__libc_stack_end through GOT since it is a global symbol.
|
__libc_stack_end through GOT since it is a global symbol.
|
||||||
|
|
||||||
|
@ -44,23 +44,31 @@
|
|||||||
static void __attribute_noinline__
|
static void __attribute_noinline__
|
||||||
allocate_static_tls (struct link_map *map)
|
allocate_static_tls (struct link_map *map)
|
||||||
{
|
{
|
||||||
size_t offset = roundup (GL(dl_tls_static_used), map->l_tls_align);
|
size_t offset, used, check;
|
||||||
if (offset + map->l_tls_blocksize
|
|
||||||
# if TLS_TCB_AT_TP
|
# if TLS_TCB_AT_TP
|
||||||
+ TLS_TCB_SIZE
|
offset = roundup (GL(dl_tls_static_used) + map->l_tls_blocksize,
|
||||||
|
map->l_tls_align);
|
||||||
|
used = offset;
|
||||||
|
check = offset + TLS_TCB_SIZE;
|
||||||
# elif TLS_DTV_AT_TP
|
# elif TLS_DTV_AT_TP
|
||||||
|
offset = roundup (GL(dl_tls_static_used), map->l_tls_align);
|
||||||
|
used = offset + map->l_tls_blocksize;
|
||||||
|
check = used;
|
||||||
/* dl_tls_static_used includes the TCB at the beginning. */
|
/* dl_tls_static_used includes the TCB at the beginning. */
|
||||||
# else
|
# else
|
||||||
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
|
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
|
||||||
# endif
|
# endif
|
||||||
> GL(dl_tls_static_size))
|
|
||||||
|
if (check > GL(dl_tls_static_size))
|
||||||
{
|
{
|
||||||
const char *errstring = N_("\
|
const char *errstring = N_("\
|
||||||
shared object cannot be dlopen()ed: static TLS memory too small");
|
shared object cannot be dlopen()ed: static TLS memory too small");
|
||||||
INTUSE(_dl_signal_error) (0, (map)->l_name, NULL, errstring);
|
INTUSE(_dl_signal_error) (0, (map)->l_name, NULL, errstring);
|
||||||
}
|
}
|
||||||
|
|
||||||
map->l_tls_offset = offset;
|
map->l_tls_offset = offset;
|
||||||
GL(dl_tls_static_used) = offset + map->l_tls_blocksize;
|
GL(dl_tls_static_used) = used;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -410,7 +410,9 @@ extern char *l64a (long int __n) __THROW;
|
|||||||
/* Read a number from a string S in base 64 as above. */
|
/* Read a number from a string S in base 64 as above. */
|
||||||
extern long int a64l (__const char *__s) __THROW __attribute_pure__;
|
extern long int a64l (__const char *__s) __THROW __attribute_pure__;
|
||||||
|
|
||||||
|
#endif /* Use SVID || extended X/Open. */
|
||||||
|
|
||||||
|
#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED || defined __USE_BSD
|
||||||
# include <sys/types.h> /* we need int32_t... */
|
# include <sys/types.h> /* we need int32_t... */
|
||||||
|
|
||||||
/* These are the functions that actually do things. The `random', `srandom',
|
/* These are the functions that actually do things. The `random', `srandom',
|
||||||
@ -463,7 +465,7 @@ extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
|
|||||||
extern int setstate_r (char *__restrict __statebuf,
|
extern int setstate_r (char *__restrict __statebuf,
|
||||||
struct random_data *__restrict __buf) __THROW;
|
struct random_data *__restrict __buf) __THROW;
|
||||||
# endif /* Use misc. */
|
# endif /* Use misc. */
|
||||||
#endif /* Use SVID || extended X/Open. */
|
#endif /* Use SVID || extended X/Open || BSD. */
|
||||||
|
|
||||||
|
|
||||||
__BEGIN_NAMESPACE_STD
|
__BEGIN_NAMESPACE_STD
|
||||||
|
@ -45,7 +45,6 @@
|
|||||||
# define O_DIRECT 0400000 /* Direct disk access. */
|
# define O_DIRECT 0400000 /* Direct disk access. */
|
||||||
# define O_DIRECTORY 040000 /* Must be a directory. */
|
# define O_DIRECTORY 040000 /* Must be a directory. */
|
||||||
# define O_NOFOLLOW 0100000 /* Do not follow links. */
|
# define O_NOFOLLOW 0100000 /* Do not follow links. */
|
||||||
# define O_DIRECT 0400000 /* Direct disk access. */
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __USE_LARGEFILE64
|
#ifdef __USE_LARGEFILE64
|
||||||
|
Loading…
Reference in New Issue
Block a user