2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* idn-stub.c: Include <gnu/lib-names.h>.  Use LIBCIDN_SO for dlopen.
	* shlib-versions: New file.
	* toutf8.c: Include <sys/param.h>.
This commit is contained in:
Ulrich Drepper 2004-03-08 07:58:18 +00:00
parent e2fd3cbe08
commit b8ec72d947
6 changed files with 538 additions and 8 deletions

495
CANCEL-FCT-WAIVE Normal file
View File

@ -0,0 +1,495 @@
_IO_default_finish
_IO_default_pbackfail
_IO_default_xsgetn
_IO_fgets
_IO_file_open
_IO_file_read
_IO_fprintf
_IO_free_backup_area
_IO_free_wbackup_area
_IO_ftell
_IO_getc
_IO_getline
_IO_getline_info
_IO_gets
_IO_peekc_locked
_IO_printf
_IO_seekoff
_IO_seekpos
_IO_sprintf
_IO_sscanf
_IO_str_pbackfail
_IO_unsave_markers
_IO_unsave_wmarkers
_IO_vfprintf
_IO_vfscanf
_IO_vsprintf
_IO_wdefault_finish
_IO_wdefault_pbackfail
_IO_wdefault_xsgetn
_IO_wfile_seekoff
_IO_wfile_underflow
__asprintf
__assert
__assert_fail
__assert_perror_fail
__backtrace_symbols
__backtrace_symbols_fd
__close
__connect
__dcgettext
__deregister_frame
__deregister_frame_info
__deregister_frame_info_bases
__dgettext
__endmntent
__fork
__fpurge
__freelocale
__getdelim
__getmntent_r
__gmtime_r
__internal_endnetgrent
__internal_getnetgrent_r
__libc_accept
__libc_close
__libc_connect
__libc_fork
__libc_free
__libc_freeres
__libc_fsync
__libc_memalign
__libc_msgrcv
__libc_msgsnd
__libc_msync
__libc_nanosleep
__libc_open
__libc_pause
__libc_pread
__libc_pwrite
__libc_read
__libc_readv
__libc_realloc
__libc_recv
__libc_recvfrom
__libc_recvmsg
__libc_send
__libc_sendmsg
__libc_sendto
__libc_start_main
__libc_system
__libc_tcdrain
__libc_valloc
__libc_wait
__libc_waitpid
__libc_write
__libc_writev
__mbrlen
__mbrtowc
__nanosleep
__newlocale
__nss_group_lookup
__nss_hostname_digits_dots
__nss_hosts_lookup
__nss_lookup_function
__nss_next
__nss_passwd_lookup
__open
__open_catalog
__poll
__printf_fp
__pselect
__read
__res_init
__res_ninit
__select
__send
__setmntent
__sigsuspend
__sigtimedwait
__sigwait
__sigwaitinfo
__strcoll_l
__strerror_r
__strfmon_l
__strftime_l
__strxfrm_l
__uflow
__underflow
__vfscanf
__vsnprintf
__vsscanf
__wait
__waitid
__waitpid
__wcscoll_l
__wcsftime_l
__wcsxfrm_l
__write
__wuflow
__wunderflow
_dl_close
_dl_open
accept
addmntent
addseverity
alphasort
argp_error
argp_failure
argp_state_help
argp_usage
argz_add
argz_add_sep
argz_append
argz_create_sep
argz_delete
argz_insert
argz_replace
asctime
asctime_r
asprintf
backtrace_symbols
backtrace_symbols_fd
btowc
canonicalize_file_name
catclose
catopen
cfree
clearenv
close
closedir
connect
creat
ctime
ctime_r
cuserid
dcgettext
dcngettext
dgettext
dngettext
dprintf
ecvt
ecvt_r
endaliasent
endfsent
endgrent
endhostent
endmntent
endmntent
endnetent
endprotoent
endpwent
endrpcent
endservent
endspent
endttyent
endusershell
envz_add
envz_merge
envz_remove
err
error
error_at_line
errx
ether_hostton
ether_ntoa
ether_ntoa_r
ether_ntohost
exit
fcvt
fcvt_r
fexecve
fgetc
fgetc_unlocked
fgetgrent
fgetgrent_r
fgetpwent
fgetpwent_r
fgets
fgets_unlocked
fgetspent
fgetspent_r
fgetwc
fgetwc_unlocked
fgetws
fgetws_unlocked
fmemopen
fmtmsg
fopen64
fork
fprintf
free
freelocale
freopen
freopen64
fscanf
fseek
fseeko
fseeko64
fstatvfs
fstatvfs64
fsync
ftell
ftello
ftello64
fts_children
fts_close
fts_open
fts_read
fwprintf
fwscanf
gcvt
get_current_dir_name
get_nprocs
get_nprocs_conf
getaliasbyname
getaliasent
getc
getc_unlocked
getchar
getchar_unlocked
getcwd
getdate
getdate_r
getdelim
getgrent
getgrgid
getgrnam
getgrouplist
gethostbyaddr
gethostbyname
gethostbyname2
gethostent
gethostid
getline
getmntent
getmntent_r
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getopt
getopt_long
getopt_long_only
getprotobyname
getprotobynumber
getprotoent
getpt
getpw
getpwent
getpwnam
getpwuid
getrpcbyname
getrpcbynumber
getrpcent
gets
getservbyname
getservbyport
getservent
getspent
getspnam
gettext
getttyent
getttynam
getwc
getwc_unlocked
getwchar
getwchar_unlocked
getwd
glob
globfree
globfree64
gmtime
gmtime_r
hdestroy
hdestroy_r
herror
hstrerror
iconv
iconv_close
iconv_open
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
inet6_option_alloc
inet6_option_append
inet_ntoa
initgroups
lckpwdf
localtime
localtime_r
lockf
makecontext
mblen
mbrlen
mbrtowc
mbsnrtowcs
mbsrtowcs
mbstowcs
mbtowc
mcheck
mcheck_pedantic
memalign
mkdtemp
mkstemp
mkstemp64
mktemp
mktime
msgrcv
msgsnd
msync
mtrace
mtrace
muntrace
nanosleep
newlocale
ngettext
obstack_printf
obstack_vprintf
open
open_memstream
parse_printf_format
pause
perror
poll
posix_fallocate
posix_memalign
posix_openpt
posix_spawn
posix_spawn_file_actions_addclose
posix_spawn_file_actions_adddup2
posix_spawn_file_actions_addopen
posix_spawn_file_actions_destroy
posix_spawnp
pread
printf
printf_size
pselect
psignal
pthread_exit
putenv
putgrent
putpwent
putspent
pwrite
qecvt
qecvt_r
qfcvt
qfcvt_r
qgcvt
qsort
re_comp
re_compile_pattern
read
readv
realloc
recv
recvfrom
recvmsg
regcomp
regerror
regfree
rewind
scandir
scanf
select
send
send
sendmsg
sendto
setaliasent
setenv
setgrent
sethostent
setlocale
setmntent
setnetent
setprotoent
setpwent
setrpcent
setservent
setspent
setttyent
sgetspent
sigpause
sigsuspend
sigtimedwait
sigwait
sigwaitinfo
sleep
snprintf
sprintf
sprofil
sscanf
statvfs
statvfs64
strcoll
strcoll_l
strerror
strerror_r
strfmon
strfmon_l
strftime
strftime_l
strsignal
strxfrm
strxfrm_l
swprintf
swscanf
system
tcdrain
tdelete
tempnam
textdomain
timegm
timelocal
tmpfile64
tmpnam
tmpnam_r
ttyslot
ulckpwdf
usleep
valloc
vasprintf
vdprintf
verr
verrx
vfprintf
vfscanf
vfwprintf
vfwscanf
vprintf
vscanf
vsnprintf
vsprintf
vsscanf
vswprintf
vswscanf
vwarn
vwarnx
vwprintf
vwscanf
wait
waitid
waitpid
warn
warnx
wcrtomb
wcscoll
wcscoll_l
wcsftime
wcsftime_l
wcsnrtombs
wcsrtombs
wcstombs
wcsxfrm
wcsxfrm_l
wctob
wctomb
wordexp
wordfree
wprintf
write
writev
wscanf

View File

@ -1,6 +1,8 @@
mkdtemp.os mkdtemp.os
mktemp.os
tmpnam.os tmpnam.os
tmpnam_r.os tmpnam_r.os
tempnam.os
__assert.os __assert.os
assert.os assert.os
assert-perr.os assert-perr.os
@ -31,3 +33,16 @@ fmemopen.os
closedir.os closedir.os
hsearch.os hsearch.os
hsearch_r.os hsearch_r.os
catgets.os
digits_dots.os
localealias.os
gconv_conf.os
mtrace.os
tzfile.os
tzset.os
ruserpass.os
mntent_r.os
fstab.os
getttyent.os
nsswitch.os
res_init.os

View File

@ -1,3 +1,9 @@
2004-03-07 Ulrich Drepper <drepper@redhat.com>
* idn-stub.c: Include <gnu/lib-names.h>. Use LIBCIDN_SO for dlopen.
* shlib-versions: New file.
* toutf8.c: Include <sys/param.h>.
2004-03-07 Simon Josefsson <jas@extundo.com> 2004-03-07 Simon Josefsson <jas@extundo.com>
* Banner: New file. * Banner: New file.

View File

@ -23,6 +23,8 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <dlfcn.h> #include <dlfcn.h>
#include <gnu/lib-names.h>
#include <bits/libc-lock.h>
/* Get specification for idna_to_ascii_lz. */ /* Get specification for idna_to_ascii_lz. */
#include "idna.h" #include "idna.h"
@ -53,20 +55,30 @@ __idna_to_ascii_lz (const char *input, char **output, int flags)
if (h == NULL) if (h == NULL)
{ {
h = __libc_dlopen ("libcidn.so"); __libc_lock_define_initialized (static, lock);
__libc_lock_lock (lock);
/* Retest in case some other thread arrived here at the same time. */
if (h == NULL) if (h == NULL)
h = (void *) 1l;
else
{ {
/* Get the function we are interested in. */ h = __libc_dlopen (LIBCIDN_SO);
to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz");
if (to_ascii_lz == NULL) if (h == NULL)
h = (void *) 1l;
else
{ {
__libc_dlclose (h); /* Get the function we are interested in. */
h = (void *) 1l; to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz");
if (to_ascii_lz == NULL)
{
__libc_dlclose (h);
h = (void *) 1l;
}
} }
} }
__libc_lock_unlock (lock);
} }
if (h == (void *) 1l) if (h == (void *) 1l)

1
libidn/shlib-versions Normal file
View File

@ -0,0 +1 @@
.*-.*-.* libcidn=1

View File

@ -27,6 +27,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include <sys/param.h>
#include "stringprep.h" #include "stringprep.h"