mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Update.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Add __syscall_fcntl. * sysdeps/mips/dl-machine.h (RESOLVE_GOTSYM): Fix calls to dl_lookup. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. * sysdeps/unix/sysv/linux/mips/fcntl.c: New file. * stdlib/tst-bsearch.c (main): Add more test cases.
This commit is contained in:
parent
c5914fa7cc
commit
9aee41dec0
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
||||
2000-09-07 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/mips/syscalls.list: Add __syscall_fcntl.
|
||||
|
||||
* sysdeps/mips/dl-machine.h (RESOLVE_GOTSYM): Fix calls to
|
||||
dl_lookup.
|
||||
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise.
|
||||
|
||||
* sysdeps/unix/sysv/linux/mips/fcntl.c: New file.
|
||||
|
||||
* stdlib/tst-bsearch.c (main): Add more test cases.
|
||||
|
||||
* locale/programs/ld-collate.c (handle_ellipsis): Fix typo.
|
||||
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
|
||||
Reported by GOTO Masanori <gotom@debian.or.jp>.
|
||||
|
@ -56,11 +56,11 @@ main (void)
|
||||
{
|
||||
int cnt;
|
||||
int result = 0;
|
||||
struct entry key;
|
||||
struct entry *res;
|
||||
|
||||
for (cnt = 0; cnt < narr; ++cnt)
|
||||
{
|
||||
struct entry key;
|
||||
struct entry *res;
|
||||
|
||||
key.val = arr[cnt].val;
|
||||
|
||||
@ -77,6 +77,57 @@ main (void)
|
||||
}
|
||||
}
|
||||
|
||||
/* And some special tests that shouldn't find any entry. */
|
||||
key.val = -1;
|
||||
res = (struct entry *) bsearch (&key, arr, narr, sizeof (arr[0]), comp);
|
||||
if (res != NULL)
|
||||
{
|
||||
puts ("found an entry that's not there");
|
||||
result = 1;
|
||||
}
|
||||
|
||||
key.val = 11;
|
||||
res = (struct entry *) bsearch (&key, arr, narr, sizeof (arr[0]), comp);
|
||||
if (res != NULL)
|
||||
{
|
||||
puts ("found an entry that's not there");
|
||||
result = 1;
|
||||
}
|
||||
|
||||
key.val = 11;
|
||||
res = (struct entry *) bsearch (&key, arr, 0, sizeof (arr[0]), comp);
|
||||
if (res != NULL)
|
||||
{
|
||||
puts ("found an entry that's not there");
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Now the array contains only one element - no entry should be found. */
|
||||
for (cnt = 0; cnt < narr; ++cnt)
|
||||
{
|
||||
key.val = arr[cnt].val;
|
||||
|
||||
res = (struct entry *) bsearch (&key, &arr[5], 1, sizeof (arr[0]), comp);
|
||||
if (cnt == 5)
|
||||
{
|
||||
if (res == NULL)
|
||||
{
|
||||
printf ("entry %d not found\n", cnt);
|
||||
result = 1;
|
||||
}
|
||||
else if (res != &arr[cnt])
|
||||
{
|
||||
puts ("wrong entry returned");
|
||||
result = 1;
|
||||
}
|
||||
}
|
||||
else if (res != NULL)
|
||||
{
|
||||
puts ("found an entry that's not there");
|
||||
result = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (result == 0)
|
||||
puts ("all OK");
|
||||
|
||||
|
@ -262,14 +262,14 @@ __dl_runtime_resolve (ElfW(Word) sym_index, \
|
||||
{ \
|
||||
value = _dl_lookup_versioned_symbol(strtab + sym->st_name, l, \
|
||||
&sym, l->l_scope, version,\
|
||||
R_MIPS_REL32); \
|
||||
R_MIPS_REL32, 0); \
|
||||
break; \
|
||||
} \
|
||||
/* Fall through. */ \
|
||||
} \
|
||||
case 0: \
|
||||
value = _dl_lookup_symbol (strtab + sym->st_name, l, &sym, \
|
||||
l->l_scope, R_MIPS_REL32); \
|
||||
l->l_scope, R_MIPS_REL32, 0); \
|
||||
} \
|
||||
\
|
||||
/* Currently value contains the base load address of the object \
|
||||
@ -495,14 +495,14 @@ elf_machine_got_rel (struct link_map *map, int lazy)
|
||||
value = _dl_lookup_versioned_symbol(strtab + sym->st_name,\
|
||||
map, \
|
||||
&ref, scope, version, \
|
||||
R_MIPS_REL32); \
|
||||
R_MIPS_REL32, 0); \
|
||||
break; \
|
||||
} \
|
||||
/* Fall through. */ \
|
||||
} \
|
||||
case 0: \
|
||||
value = _dl_lookup_symbol (strtab + sym->st_name, map, &ref, \
|
||||
scope, R_MIPS_REL32); \
|
||||
scope, R_MIPS_REL32, 0); \
|
||||
} \
|
||||
\
|
||||
(ref)? value + ref->st_value: 0; \
|
||||
|
1
sysdeps/unix/sysv/linux/mips/fcntl.c
Normal file
1
sysdeps/unix/sysv/linux/mips/fcntl.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/sysv/linux/i386/fcntl.c>
|
@ -50,6 +50,7 @@ rt_sigqueueinfo - rt_sigqueueinfo i:iip __syscall_rt_sigqueueinfo
|
||||
rt_sigsuspend - rt_sigsuspend i:pi __syscall_rt_sigsuspend
|
||||
rt_sigtimedwait - rt_sigtimedwait i:pppi __syscall_rt_sigtimedwait
|
||||
s_execve execve execve i:spp __syscall_execve
|
||||
s_fcntl - fcntl i:iiF __syscall_fcntl
|
||||
s_fstat64 fxstat64 fstat64 i:ip __syscall_fstat64
|
||||
s_ftruncate64 ftruncate64 ftruncate64 i:iiii __syscall_ftruncate64
|
||||
s_getcwd getcwd getcwd i:pi __syscall_getcwd
|
||||
|
Loading…
Reference in New Issue
Block a user