diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-11-20 09:16:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-11-20 09:16:41 +0000 |
commit | 17427edd1fc510ae6eb7903cc8664e15500490d6 (patch) | |
tree | 0c0e4922611172e6ab93ee76dd882902eeee7d82 /sysdeps | |
parent | 1eab136137fe8b27f7c8ef2d4bee4c07c1821be3 (diff) | |
download | glibc-17427edd1fc510ae6eb7903cc8664e15500490d6.zip glibc-17427edd1fc510ae6eb7903cc8664e15500490d6.tar.gz glibc-17427edd1fc510ae6eb7903cc8664e15500490d6.tar.bz2 |
Update.
2000-11-20 Ulrich Drepper <drepper@redhat.com>
* csu/gmon-start.c: Always have prototype for __gmon_start.
* csu/version.c: Add prototypes for __libc_print_version and
__libc_main.
* iconv/gconv.c: Include gconv_int.h and gconv.h.
* iconv/gconv.h (struct __gconv_step): Remove const from __from_name
and __to_name.
* iconv/gconv_builtin.h: Add ASCII module definitions.
* iconv/gconv_conf.c (__gconv_path_elem): Remove const.
(add_module): Add cast to avoid warning. Rework construction of
strings for new module.
* iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const.
(derivation_compare): Likewise.
* iconv/gconv_dl.c (do_release_shlib): Remove const from nodep.
(__gconv_release_shlib): Cast do_release_shlib as parameter for twalk.
* iconv/gconv_int.h (__gconv_path_elem): Remove const.
(struct gconv_alias): Remove const from fromname and toname.
* iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes
for loop functions.
(internal_ucs4_loop): Use correct const-ness.
(ucs4_internal_loop): Likewise.
(internal_ucs4le_loop): Likewise.
(ucs4le_internal_loop_single): Likewise.
* iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl,
to_idx, to_tbl, winbuf, winbufend const. Change casts in
assignments appropriately.
(struct known_trans): Remove const from fname.
(trans_compare): Make s1 and s2 const.
* iconv/loop.c (LOOPFC): Make outend parameter const. Add cast to
avoid warning.
* iconv/skeleton.c: Remove cast in calls of loop functions.
* iconvdata/gconv-modules: Remove US-ASCII definitions.
* iconvdata/iso646.c: Remove US_ASCII support.
* include/set-hooks.h (DEFINE_HOOK): Also generate prototype.
* include/unistd.h: Add __libc_check_standard_fds prototype.
* string/bits/string2.h (__mempcpy_args): Add const to casts.
* sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and
_fini.
* sysdeps/generic/libc-start.c: Add prototype for __libc_start_main.
* sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts.
* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid
warning.
* sysdeps/unix/sysv/linux/init-first.c: Add prototypes for
__libc_init_first and _dl_start.
* sysdeps/unix/sysv/linux/mips/clone.S: Fix comments.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/initfini.c | 5 | ||||
-rw-r--r-- | sysdeps/generic/libc-start.c | 11 | ||||
-rw-r--r-- | sysdeps/i386/i486/bits/string.h | 18 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-osinfo.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/init-first.c | 6 |
5 files changed, 30 insertions, 12 deletions
diff --git a/sysdeps/generic/initfini.c b/sysdeps/generic/initfini.c index 836d606..60dcdc0 100644 --- a/sysdeps/generic/initfini.c +++ b/sysdeps/generic/initfini.c @@ -50,6 +50,7 @@ asm ("\n/*@HEADER_ENDS*/"); /* To determine whether we need .end and .align: */ asm ("\n/*@TESTS_BEGIN*/"); +extern void dummy (void (*foo) (void)); void dummy (void (*foo) (void)) { @@ -68,10 +69,11 @@ call_gmon_start(void) void (*gmon_start) (void) = __gmon_start__; if (gmon_start) - gmon_start (); + gmon_start (); } SECTION (".init"); +extern void _init (void); void _init (void) { @@ -97,6 +99,7 @@ asm ("\n/*@_init_EPILOG_ENDS*/"); asm ("\n/*@_fini_PROLOG_BEGINS*/"); SECTION (".fini"); +extern void _fini (void); void _fini (void) { diff --git a/sysdeps/generic/libc-start.c b/sysdeps/generic/libc-start.c index a95ce56..c4b8bc6 100644 --- a/sysdeps/generic/libc-start.c +++ b/sysdeps/generic/libc-start.c @@ -33,8 +33,15 @@ extern void *__libc_stack_end; extern void __pthread_initialize_minimal (void) __attribute__ ((weak)); #endif -/* Prototype for local function. */ -extern void __libc_check_standard_fds (void); + +extern int BP_SYM (__libc_start_main) (int (*main) (int, char **, char **), + int argc, + char *__unbounded *__unbounded ubp_av, + void (*init) (void), + void (*fini) (void), + void (*rtld_fini) (void), + void *__unbounded stack_end) + __attribute__ ((noreturn)); int /* GKM FIXME: GCC: this should get __BP_ prefix by virtue of the diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h index 532dcc1..1a33630 100644 --- a/sysdeps/i386/i486/bits/string.h +++ b/sysdeps/i386/i486/bits/string.h @@ -1057,18 +1057,20 @@ __strncat_g (char *__dest, __const char __src[], size_t __n) : (__builtin_constant_p (s1) && sizeof ((s1)[0]) == 1 \ && sizeof ((s2)[0]) == 1 && strlen (s1) < 4 \ ? (__builtin_constant_p (s2) && sizeof ((s2)[0]) == 1 \ - ? __strcmp_cc ((unsigned char *) (s1), \ - (unsigned char *) (s2), strlen (s1)) \ - : __strcmp_cg ((unsigned char *) (s1), \ - (unsigned char *) (s2), strlen (s1))) \ + ? __strcmp_cc ((__const unsigned char *) (s1), \ + (__const unsigned char *) (s2), \ + strlen (s1)) \ + : __strcmp_cg ((__const unsigned char *) (s1), \ + (__const unsigned char *) (s2), \ + strlen (s1))) \ : (__builtin_constant_p (s2) && sizeof ((s1)[0]) == 1 \ && sizeof ((s2)[0]) == 1 && strlen (s2) < 4 \ ? (__builtin_constant_p (s1) \ - ? __strcmp_cc ((unsigned char *) (s1), \ - (unsigned char *) (s2), \ + ? __strcmp_cc ((__const unsigned char *) (s1), \ + (__const unsigned char *) (s2), \ strlen (s2)) \ - : __strcmp_gc ((unsigned char *) (s1), \ - (unsigned char *) (s2), \ + : __strcmp_gc ((__const unsigned char *) (s1), \ + (__const unsigned char *) (s2), \ strlen (s2))) \ : __strcmp_gg (s1, s2))))) diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index 1834da8..1a94d17 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -71,7 +71,7 @@ dl_fatal (const char *str) make sure the library can actually work. */ \ FATAL ("FATAL: cannot determine library version\n"); \ __close (fd); \ - buf[MIN (reslen, sizeof (bufmem) - 1)] = '\0'; \ + buf[MIN (reslen, (ssize_t) sizeof (bufmem) - 1)] = '\0'; \ } \ else \ buf = uts.release; \ diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c index 101523f..0e5b4a2 100644 --- a/sysdeps/unix/sysv/linux/init-first.c +++ b/sysdeps/unix/sysv/linux/init-first.c @@ -108,12 +108,16 @@ init (int argc, char **argv, char **envp) strong_alias (init, _init); +extern void __libc_init_first (void); + void __libc_init_first (void) { } #else +extern void __libc_init_first (int argc, char **argv, char **envp); + void __libc_init_first (int argc, char **argv, char **envp) { @@ -127,6 +131,8 @@ __libc_init_first (int argc, char **argv, char **envp) in ld.so causes disaster, because the _init definition above will cause ld.so to gain an init function, which is not a cool thing. */ +extern void _dl_start (void) __attribute__ ((noreturn)); + void _dl_start (void) { |