Blame SOURCES/redhat-lsb-trigger.patch

a7a6aa
--- redhat_lsb_trigger.c.triggerfix	2008-04-16 18:50:14.000000000 +0100
a7a6aa
+++ redhat_lsb_trigger.c	2011-09-14 11:50:42.563080000 +0100
a7a6aa
@@ -423,10 +423,76 @@
a7a6aa
 #define is_ia64() 0
a7a6aa
 #endif
a7a6aa
 
a7a6aa
+char *
a7a6aa
+strtok (char *p, const char *delim)
a7a6aa
+{
a7a6aa
+  static char *olds;
a7a6aa
+  const char *d;
a7a6aa
+  char *token;
a7a6aa
+  if (p == NULL)
a7a6aa
+    p = olds;
a7a6aa
+  while (*p)
a7a6aa
+    {
a7a6aa
+      for (d = delim; *d; d++)
a7a6aa
+	if (*p == *d)
a7a6aa
+	  break;
a7a6aa
+      if (!*d)
a7a6aa
+	break;
a7a6aa
+      p++;
a7a6aa
+    }
a7a6aa
+  if (!*p)
a7a6aa
+    {
a7a6aa
+      olds = p;
a7a6aa
+      return NULL;
a7a6aa
+    }
a7a6aa
+  token = p;
a7a6aa
+  while (*p)
a7a6aa
+    {
a7a6aa
+      for (d = delim; *d; d++)
a7a6aa
+	if (*p == *d)
a7a6aa
+	  break;
a7a6aa
+      if (*d)
a7a6aa
+	break;
a7a6aa
+      p++;
a7a6aa
+    }
a7a6aa
+  if (!*p)
a7a6aa
+    olds = p;
a7a6aa
+  else
a7a6aa
+    {
a7a6aa
+      *p = '\0';
a7a6aa
+      olds = p + 1;
a7a6aa
+    }
a7a6aa
+  return token;
a7a6aa
+}
a7a6aa
+
a7a6aa
+size_t
a7a6aa
+strlen (const char *s)
a7a6aa
+{
a7a6aa
+  const char *p;
a7a6aa
+  for (p = s; *p; ++p);
a7a6aa
+  return p - s;
a7a6aa
+}
a7a6aa
+
a7a6aa
+void *
a7a6aa
+mempcpy (void *dst, const void *src, size_t n)
a7a6aa
+{
a7a6aa
+  char *d = dst;
a7a6aa
+  const char *s = src;
a7a6aa
+  while (n--)
a7a6aa
+    *d++ = *s++;
a7a6aa
+  return d;
a7a6aa
+}
a7a6aa
+
a7a6aa
+char *
a7a6aa
+strcpy (char *dst, const char *src)
a7a6aa
+{
a7a6aa
+  char *ret = dst;
a7a6aa
+  while ((*dst++ = *src++) != '\0');
a7a6aa
+  return ret;
a7a6aa
+}
a7a6aa
+
a7a6aa
 int main (int argc, char **argv)
a7a6aa
 {
a7a6aa
-/* redhat_lsb_trigger.c:428: warning: unused variable 'ret' */
a7a6aa
-/*  long ret; */ 
a7a6aa
   INTERNAL_SYSCALL_DECL (err);
a7a6aa
   char lsbsover[] = LSBSOVER;
a7a6aa
   char *LSBVER, *p = lsbsover;
a7a6aa
@@ -450,15 +516,38 @@
a7a6aa
 int __libc_multiple_threads __attribute__((nocommon));
a7a6aa
 int __libc_enable_asynccancel (void) { return 0; }
a7a6aa
 void __libc_disable_asynccancel (int x) { }
a7a6aa
+#ifndef __arm__
a7a6aa
 void __libc_csu_init (void) { }
a7a6aa
 void __libc_csu_fini (void) { }
a7a6aa
+#endif
a7a6aa
 pid_t __fork (void) { return -1; }
a7a6aa
 char thr_buf[65536];
a7a6aa
 
a7a6aa
-#ifndef __powerpc__
a7a6aa
+void
a7a6aa
+__attribute__ ((noreturn))
a7a6aa
+__stack_chk_fail (void)
a7a6aa
+{
a7a6aa
+  INTERNAL_SYSCALL_DECL (err);
a7a6aa
+  while (1)
a7a6aa
+    INTERNAL_SYSCALL (exit, err, 1, 1);
a7a6aa
+}
a7a6aa
+
a7a6aa
+#if defined __powerpc__
a7a6aa
+
a7a6aa
+struct startup_info
a7a6aa
+{
a7a6aa
+  void *sda_base;
a7a6aa
+  int (*main) (int, char **, char **, void *);
a7a6aa
+  int (*init) (int, char **, char **, void *);
a7a6aa
+  void (*fini) (void);
a7a6aa
+};
a7a6aa
+
a7a6aa
+int __libc_start_main (int argc, char **argv, char **ev,
a7a6aa
+		       void *auxvec, void (*rtld_fini) (void),
a7a6aa
+		       struct startup_info *stinfo,
a7a6aa
+		       char **stack_on_entry)
a7a6aa
+#elif defined __arm__
a7a6aa
 
a7a6aa
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
a7a6aa
- *  * (.opd+0x10): multiple definition of `__libc_start_main'  */
a7a6aa
 int ___libc_start_main (int (*main) (int argc, char **argv),
a7a6aa
                        int argc, char **argv,
a7a6aa
 		       void (*init) (void), void (*fini) (void),
a7a6aa
@@ -472,9 +561,7 @@
a7a6aa
   void (*fini) (void);
a7a6aa
 };
a7a6aa
 
a7a6aa
-/* /usr/lib/gcc/ppc64-redhat-linux/4.1.2/../../../../lib64/libc.a(libc-start.o): In function `__libc_start_main':
a7a6aa
- * (.opd+0x10): multiple definition of `__libc_start_main'  */
a7a6aa
-int ___libc_start_main (int argc, char **argv, char **ev,
a7a6aa
+int __libc_start_main (int argc, char **argv, char **ev,
a7a6aa
 		       void *auxvec, void (*rtld_fini) (void),
a7a6aa
 		       struct startup_info *stinfo,
a7a6aa
 		       char **stack_on_entry)