diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | misc/progname.c | 7 | ||||
-rw-r--r-- | sysdeps/mach/hurd/setitimer.c | 2 |
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 88babc2b39..3868aeb5e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Apr 4 00:48:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * misc/progname.c (program_invocation_name, + program_invocation_short_name): Make these initialized data + definitions. + + * sysdeps/mach/hurd/setitimer.c (fork_itimer): Add self reference + so gcc doesn't optimize out the function entirely. + Sun Apr 2 13:13:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * posix/execvp.c: Don't use stat to search path; just try execv diff --git a/misc/progname.c b/misc/progname.c index 265ca5c3a9..d4efac976d 100644 --- a/misc/progname.c +++ b/misc/progname.c @@ -21,8 +21,11 @@ Cambridge, MA 02139, USA. */ #include <ansidecl.h> #include <string.h> -char *program_invocation_name; -char *program_invocation_short_name; +/* These must be initialized data definitions. Common definitions satisfy + references to these variables, but do not cause the whole file to be + linked in, and so omit the set-up function. */ +char *program_invocation_name = NULL; +char *program_invocation_short_name = NULL; static void DEFUN(set_progname, (argc, argv, envp), diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c index 4351c5ea99..4f494a4c6e 100644 --- a/sysdeps/mach/hurd/setitimer.c +++ b/sysdeps/mach/hurd/setitimer.c @@ -326,6 +326,8 @@ fork_itimer (void) it.it_value = it.it_interval; setitimer_locked (&it, NULL, NULL); + + (void) &fork_itimer; /* Avoid gcc optimizing out the function. */ } text_set_element (_hurd_fork_child_hook, fork_itimer); |