mirror of git://sourceware.org/git/glibc.git
Update.
* include/dlfcn.h (__RTLD_OPENEXEC): Define. * elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading executables unless __RTLD_OPENEXEC flag is present. * elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to _dl_map_object when loading the executable. reverse lookup format for IPv6 addresses is using bitstring and * resolv/ns_name.c: Implement encoding and decoding bitstring in
This commit is contained in:
parent
98d2ca3d87
commit
5a4b5076f1
10
ChangeLog
10
ChangeLog
|
|
@ -1,13 +1,19 @@
|
||||||
2003-10-26 Ulrich Drepper <drepper@redhat.com>
|
2003-10-26 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* include/dlfcn.h (__RTLD_OPENEXEC): Define.
|
||||||
|
* elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading
|
||||||
|
executables unless __RTLD_OPENEXEC flag is present.
|
||||||
|
* elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to
|
||||||
|
_dl_map_object when loading the executable.
|
||||||
|
|
||||||
* sysdeps/generic/glob.c (glob): Handle GLOB_BRACE and escaping
|
* sysdeps/generic/glob.c (glob): Handle GLOB_BRACE and escaping
|
||||||
correctly.
|
correctly.
|
||||||
* posix/globtest.sh: Add tests for GLOB_BRACE and escaping.
|
* posix/globtest.sh: Add tests for GLOB_BRACE and escaping.
|
||||||
|
|
||||||
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Default
|
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Default
|
||||||
reverse lookup format for IPv6 addresses is using bitfields and
|
reverse lookup format for IPv6 addresses is using bitstring and
|
||||||
.ip6.arpa suffix.
|
.ip6.arpa suffix.
|
||||||
* resolv/ns_name.c: Implement encoding and decoding bitfields in
|
* resolv/ns_name.c: Implement encoding and decoding bitstring in
|
||||||
hex format.
|
hex format.
|
||||||
|
|
||||||
2003-10-23 Jakub Jelinek <jakub@redhat.com>
|
2003-10-23 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
|
||||||
|
|
@ -1129,7 +1129,7 @@ cannot allocate TLS data structures for initial thread");
|
||||||
{
|
{
|
||||||
/* This object is loaded at a fixed address. This must never
|
/* This object is loaded at a fixed address. This must never
|
||||||
happen for objects loaded with dlopen(). */
|
happen for objects loaded with dlopen(). */
|
||||||
if (__builtin_expect (mode & __RTLD_DLOPEN, 0))
|
if (__builtin_expect ((mode & __RTLD_OPENEXEC) == 0, 0))
|
||||||
{
|
{
|
||||||
errstring = N_("cannot dynamically load executable");
|
errstring = N_("cannot dynamically load executable");
|
||||||
goto call_lose;
|
goto call_lose;
|
||||||
|
|
|
||||||
|
|
@ -787,7 +787,8 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
HP_TIMING_NOW (start);
|
HP_TIMING_NOW (start);
|
||||||
INTUSE(_dl_map_object) (NULL, rtld_progname, 0, lt_library, 0, 0);
|
INTUSE(_dl_map_object) (NULL, rtld_progname, 0, lt_library, 0,
|
||||||
|
__RTLD_OPENEXEC);
|
||||||
HP_TIMING_NOW (stop);
|
HP_TIMING_NOW (stop);
|
||||||
|
|
||||||
HP_TIMING_DIFF (load_time, start, stop);
|
HP_TIMING_DIFF (load_time, start, stop);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
/* Internally used flag. */
|
/* Internally used flag. */
|
||||||
#define __RTLD_DLOPEN 0x80000000
|
#define __RTLD_DLOPEN 0x80000000
|
||||||
#define __RTLD_SPROF 0x40000000
|
#define __RTLD_SPROF 0x40000000
|
||||||
|
#define __RTLD_OPENEXEC 0x20000000
|
||||||
|
|
||||||
/* Now define the internal interfaces. */
|
/* Now define the internal interfaces. */
|
||||||
extern void *__dlvsym (void *__handle, __const char *__name,
|
extern void *__dlvsym (void *__handle, __const char *__name,
|
||||||
|
|
|
||||||
|
|
@ -687,6 +687,25 @@ if test $failed -ne 0; then
|
||||||
result=1
|
result=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test [[:punct:]] not matching leading period.
|
||||||
|
failed=0
|
||||||
|
${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
|
||||||
|
${common_objpfx}posix/globtest -c "$testdir" "[[:punct:]]*" |
|
||||||
|
sort > $testout
|
||||||
|
cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
|
||||||
|
`*file6'
|
||||||
|
`-file3'
|
||||||
|
`\file9b\'
|
||||||
|
`\{file8\}'
|
||||||
|
`\{file9\,file9b\}'
|
||||||
|
`{file7,}'
|
||||||
|
`~file4'
|
||||||
|
EOF
|
||||||
|
if test $failed -ne 0; then
|
||||||
|
echo "Punct test failed" >> $logfile
|
||||||
|
result=1
|
||||||
|
fi
|
||||||
|
|
||||||
if test $result -eq 0; then
|
if test $result -eq 0; then
|
||||||
chmod 777 $testdir/noread
|
chmod 777 $testdir/noread
|
||||||
rm -fr $testdir $testout
|
rm -fr $testdir $testout
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue