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