3618b39
--- redhat_lsb_trigger.c.jj	2008-04-16 19:50:14.000000000 +0200
3618b39
+++ redhat_lsb_trigger.c	2009-10-26 19:51:12.886058784 +0100
3618b39
@@ -423,10 +423,76 @@ is_ia64 (void)
3618b39
 #define is_ia64() 0
3618b39
 #endif
3618b39
 
3618b39
+char *
3618b39
+strtok (char *p, const char *delim)
3618b39
+{
3618b39
+  static char *olds;
3618b39
+  const char *d;
3618b39
+  char *token;
3618b39
+  if (p == NULL)
3618b39
+    p = olds;
3618b39
+  while (*p)
3618b39
+    {
3618b39
+      for (d = delim; *d; d++)
3618b39
+	if (*p == *d)
3618b39
+	  break;
3618b39
+      if (!*d)
3618b39
+	break;
3618b39
+      p++;
3618b39
+    }
3618b39
+  if (!*p)
3618b39
+    {
3618b39
+      olds = p;
3618b39
+      return NULL;
3618b39
+    }
3618b39
+  token = p;
3618b39
+  while (*p)
3618b39
+    {
3618b39
+      for (d = delim; *d; d++)
3618b39
+	if (*p == *d)
3618b39
+	  break;
3618b39
+      if (*d)
3618b39
+	break;
3618b39
+      p++;
3618b39
+    }
3618b39
+  if (!*p)
3618b39
+    olds = p;
3618b39
+  else
3618b39
+    {
3618b39
+      *p = '\0';
3618b39
+      olds = p + 1;
3618b39
+    }
3618b39
+  return token;
3618b39
+}
3618b39
+
3618b39
+size_t
3618b39
+strlen (const char *s)
3618b39
+{
3618b39
+  const char *p;
3618b39
+  for (p = s; *p; ++p);
3618b39
+  return p - s;
3618b39
+}
3618b39
+
3618b39
+void *
3618b39
+mempcpy (void *dst, const void *src, size_t n)
3618b39
+{
3618b39
+  char *d = dst;
3618b39
+  const char *s = src;
3618b39
+  while (n--)
3618b39
+    *d++ = *s++;
3618b39
+  return d;
3618b39
+}
3618b39
+
3618b39
+char *
3618b39
+strcpy (char *dst, const char *src)
3618b39
+{
3618b39
+  char *ret = dst;
3618b39
+  while ((*dst++ = *src++) != '\0');
3618b39
+  return ret;
3618b39
+}
3618b39
+
3618b39
 int main (int argc, char **argv)
3618b39
 {
3618b39
-/* redhat_lsb_trigger.c:428: warning: unused variable 'ret' */
3618b39
-/*  long ret; */ 
3618b39
   INTERNAL_SYSCALL_DECL (err);
3618b39
   char lsbsover[] = LSBSOVER;
3618b39
   char *LSBVER, *p = lsbsover;
3618b39
@@ -455,11 +521,18 @@ void __libc_csu_fini (void) { }
3618b39
 pid_t __fork (void) { return -1; }
3618b39
 char thr_buf[65536];
3618b39
 
3618b39
+void
3618b39
+__attribute__ ((noreturn))
3618b39
+__stack_chk_fail (void)
3618b39
+{
3618b39
+  INTERNAL_SYSCALL_DECL (err);
3618b39
+  while (1)
3618b39
+    INTERNAL_SYSCALL (exit, err, 1, 1);
3618b39
+}
3618b39
+
3618b39
 #ifndef __powerpc__
3618b39
 
3618b39
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
3618b39
- *  * (.opd+0x10): multiple definition of `__libc_start_main'  */
3618b39
-int ___libc_start_main (int (*main) (int argc, char **argv),
3618b39
+int __libc_start_main (int (*main) (int argc, char **argv),
3618b39
                        int argc, char **argv,
3618b39
 		       void (*init) (void), void (*fini) (void),
3618b39
 		       void (*rtld_fini) (void), void * stack_end)
3618b39
@@ -472,9 +545,7 @@ struct startup_info
3618b39
   void (*fini) (void);
3618b39
 };
3618b39
 
3618b39
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
3618b39
- * (.opd+0x10): multiple definition of `__libc_start_main'  */
3618b39
-int ___libc_start_main (int argc, char **argv, char **ev,
3618b39
+int __libc_start_main (int argc, char **argv, char **ev,
3618b39
 		       void *auxvec, void (*rtld_fini) (void),
3618b39
 		       struct startup_info *stinfo,
3618b39
 		       char **stack_on_entry)