Compare commits
73 Commits
Author | SHA1 | Date |
---|---|---|
Parag Nemade | 26423f95b1 | |
Than Ngo | 2184ad9d71 | |
Fedora Release Engineering | d584361f88 | |
Igor Gnatenko | cc4241b4f1 | |
Miro Hrončok | 8bb47e4e7f | |
Sébastien Santoro | 3eebfea3c5 | |
Igor Gnatenko | 75ae095e91 | |
Igor Gnatenko | 1d41f7557e | |
Ondřej Vašík | 73bc43b9f7 | |
Igor Gnatenko | b47268f632 | |
Ondřej Vašík | 272ed478e7 | |
Ondřej Vašík | 5b49ebde9c | |
Fedora Release Engineering | 57ec8c59a6 | |
Fedora Release Engineering | 61ac859d2b | |
Fedora Release Engineering | a71add7120 | |
Ondřej Vašík | 5bd31bfddf | |
Petr Písař | fb170cb733 | |
Parag Nemade | 8974c13df2 | |
Fedora Release Engineering | 50cbb32048 | |
Dennis Gilmore | 7aa55d9705 | |
Parag Nemade | c6610dc0a8 | |
Peter Robinson | 6d42d7cc5e | |
Dennis Gilmore | 6aed244b49 | |
Ondřej Vašík | 2273ca963a | |
Peter Robinson | b8280d2b1f | |
Ondřej Vašík | 5363ff93d8 | |
Ondřej Vašík | 7a74cc2a2c | |
Ondřej Vašík | 7b5e4f8e57 | |
Ondřej Vašík | d49dc014c8 | |
Ondřej Vašík | f4d0ef2c0b | |
Ondřej Vašík | bc35b8acdb | |
Petr Písař | 09676c29c4 | |
Dennis Gilmore | 4d697b4a6a | |
Petr Písař | 98c0adc862 | |
Ondřej Vašík | 471189bbce | |
Ondřej Vašík | d8dec5998f | |
Ondřej Vašík | 85b071a0f6 | |
Ondřej Vašík | 2337dccebe | |
Ondřej Vašík | d4d4682753 | |
Ondřej Vašík | d4af354b87 | |
Ondřej Vašík | aeb2710293 | |
Ondřej Vašík | ef6ff2fadc | |
Ondřej Vašík | a1d0ecadfd | |
Ondřej Vašík | aeb6e37c31 | |
Ondřej Vašík | 1f2021f336 | |
Ondřej Vašík | c36b09775a | |
Parag Nemade | e9fbb7c0e5 | |
Dennis Gilmore | 060d47760b | |
Parag Nemade | d9bd2fe6ce | |
Parag Nemade | adeb067197 | |
Parag Nemade | b974bc4681 | |
Parag Nemade | 4d8d159f61 | |
Dennis Gilmore | 8575c04370 | |
Parag Nemade | e6ba58c4e4 | |
Parag Nemade | 290d7c034e | |
Parag Nemade | 1952ce74b5 | |
Parag Nemade | ad03696cdb | |
Dennis Gilmore | 7d112f9e4a | |
Fedora Release Engineering | 5f5eeb114a | |
pnemade | e7eea08bdb | |
pnemade | f60f4e6030 | |
pnemade | 15a51765cf | |
Lawrence Lim | a8a0434ebf | |
Lawrence Lim | 292edb7ae1 | |
Bill Nottingham | 4da35e5447 | |
Tom Callaway | 3618b39753 | |
Tom Callaway | fc95d68b97 | |
Ville Skyttä | 263e64498d | |
Jesse Keating | 7d51a1bebf | |
Jens Petersen | 134fc67818 | |
Jens Petersen | b114c53935 | |
Christopher Aillon | 39c62e603a | |
Jesse Keating | 4adb617a76 |
|
@ -1 +0,0 @@
|
|||
redhat-lsb-3.2-1.tar.bz2
|
|
@ -0,0 +1,2 @@
|
|||
redhat-lsb-4.0-1.tar.bz2
|
||||
/redhat-lsb-4.1-1.tar.bz2
|
21
Makefile
21
Makefile
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: redhat-lsb
|
||||
# $Id: Makefile,v 1.1 2004/09/09 11:25:19 cvsdist Exp $
|
||||
NAME := redhat-lsb
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
Binary file not shown.
|
@ -0,0 +1,131 @@
|
|||
diff --git a/redhat_lsb_trigger.c b/redhat_lsb_trigger.c
|
||||
index 76db260..f76e5a5 100644
|
||||
--- a/redhat_lsb_trigger.c
|
||||
+++ b/redhat_lsb_trigger.c
|
||||
@@ -424,6 +424,102 @@ register void *__thread_self __asm ("g7");
|
||||
: inline_syscall_clobbers, "$20", "$21"); \
|
||||
_sc_ret = _sc_0, _sc_err = _sc_19; \
|
||||
}
|
||||
+#elif defined __aarch64__
|
||||
+#undef SYS_ify
|
||||
+#define SYS_ify(syscall_name) (__NR_##syscall_name)
|
||||
+
|
||||
+# undef INLINE_SYSCALL
|
||||
+# define INLINE_SYSCALL(name, nr, args...) \
|
||||
+ ({ unsigned long _sys_result = INTERNAL_SYSCALL (name, , nr, args); \
|
||||
+ if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\
|
||||
+ { \
|
||||
+ __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, )); \
|
||||
+ _sys_result = (unsigned long) -1; \
|
||||
+ } \
|
||||
+ (long) _sys_result; })
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL_DECL
|
||||
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL_RAW
|
||||
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
|
||||
+ ({ unsigned long _sys_result; \
|
||||
+ { \
|
||||
+ LOAD_ARGS_##nr (args) \
|
||||
+ register long _x8 asm ("x8") = (name); \
|
||||
+ asm volatile ("svc 0 // syscall " # name \
|
||||
+ : "+r" (_x0), "+r" (_x8) \
|
||||
+ : ASM_ARGS_##nr \
|
||||
+ : "memory", CLOBBER_ARGS_##nr); \
|
||||
+ _sys_result = _x0; \
|
||||
+ } \
|
||||
+ (long) _sys_result; })
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL
|
||||
+# define INTERNAL_SYSCALL(name, err, nr, args...) \
|
||||
+ INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL_ERROR_P
|
||||
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
|
||||
+ ((unsigned long) (val) >= (unsigned long) -4095)
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL_ERRNO
|
||||
+# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
|
||||
+
|
||||
+# define CLOBBER_ARGS_0 CLOBBER_ARGS_1
|
||||
+# define CLOBBER_ARGS_1 "x1", CLOBBER_ARGS_2
|
||||
+# define CLOBBER_ARGS_2 "x2", CLOBBER_ARGS_3
|
||||
+# define CLOBBER_ARGS_3 "x3", CLOBBER_ARGS_4
|
||||
+# define CLOBBER_ARGS_4 "x4", CLOBBER_ARGS_5
|
||||
+# define CLOBBER_ARGS_5 "x5", CLOBBER_ARGS_6
|
||||
+# define CLOBBER_ARGS_6 "x6", CLOBBER_ARGS_7
|
||||
+# define CLOBBER_ARGS_7 \
|
||||
+ "x7", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18"
|
||||
+
|
||||
+# define LOAD_ARGS_0() \
|
||||
+ register long _x0 asm ("x0");
|
||||
+
|
||||
+# define ASM_ARGS_0
|
||||
+# define LOAD_ARGS_1(x0) \
|
||||
+ long _x0tmp = (long) (x0); \
|
||||
+ LOAD_ARGS_0 () \
|
||||
+ _x0 = _x0tmp;
|
||||
+# define ASM_ARGS_1 "r" (_x0)
|
||||
+# define LOAD_ARGS_2(x0, x1) \
|
||||
+ long _x1tmp = (long) (x1); \
|
||||
+ LOAD_ARGS_1 (x0) \
|
||||
+ register long _x1 asm ("x1") = _x1tmp;
|
||||
+# define ASM_ARGS_2 ASM_ARGS_1, "r" (_x1)
|
||||
+# define LOAD_ARGS_3(x0, x1, x2) \
|
||||
+ long _x2tmp = (long) (x2); \
|
||||
+ LOAD_ARGS_2 (x0, x1) \
|
||||
+ register long _x2 asm ("x2") = _x2tmp;
|
||||
+# define ASM_ARGS_3 ASM_ARGS_2, "r" (_x2)
|
||||
+# define LOAD_ARGS_4(x0, x1, x2, x3) \
|
||||
+ long _x3tmp = (long) (x3); \
|
||||
+ LOAD_ARGS_3 (x0, x1, x2) \
|
||||
+ register long _x3 asm ("x3") = _x3tmp;
|
||||
+# define ASM_ARGS_4 ASM_ARGS_3, "r" (_x3)
|
||||
+# define LOAD_ARGS_5(x0, x1, x2, x3, x4) \
|
||||
+ long _x4tmp = (long) (x4); \
|
||||
+ LOAD_ARGS_4 (x0, x1, x2, x3) \
|
||||
+ register long _x4 asm ("x4") = _x4tmp;
|
||||
+# define ASM_ARGS_5 ASM_ARGS_4, "r" (_x4)
|
||||
+# define LOAD_ARGS_6(x0, x1, x2, x3, x4, x5) \
|
||||
+ long _x5tmp = (long) (x5); \
|
||||
+ LOAD_ARGS_5 (x0, x1, x2, x3, x4) \
|
||||
+ register long _x5 asm ("x5") = _x5tmp;
|
||||
+# define ASM_ARGS_6 ASM_ARGS_5, "r" (_x5)
|
||||
+# define LOAD_ARGS_7(x0, x1, x2, x3, x4, x5, x6)\
|
||||
+ long _x6tmp = (long) (x6); \
|
||||
+ LOAD_ARGS_6 (x0, x1, x2, x3, x4, x5) \
|
||||
+ register long _x6 asm ("x6") = _x6tmp;
|
||||
+# define ASM_ARGS_7 ASM_ARGS_6, "r" (_x6)
|
||||
+
|
||||
+# undef INTERNAL_SYSCALL_NCS
|
||||
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
|
||||
+ INTERNAL_SYSCALL_RAW (number, err, nr, args)
|
||||
+
|
||||
#endif
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -539,10 +635,14 @@ int main (int argc, char **argv)
|
||||
p = mempcpy (p, LSBLDSO, sizeof LSBLDSO - 1);
|
||||
*p++ = '.';
|
||||
strcpy (p, LSBVER);
|
||||
+#if defined(__NR_symlink)
|
||||
if (is_ia64 ())
|
||||
INTERNAL_SYSCALL (symlink, err, 2, "/emul/ia32-linux/lib/" LDSO, buf);
|
||||
else
|
||||
INTERNAL_SYSCALL (symlink, err, 2, LDSO, buf);
|
||||
+#elif defined(__NR_symlinkat)
|
||||
+ INTERNAL_SYSCALL (symlinkat, err, 3, AT_FDCWD, LDSO, buf);
|
||||
+#endif
|
||||
p = NULL;
|
||||
}
|
||||
INTERNAL_SYSCALL (exit, err, 1, 0);
|
||||
@@ -682,7 +682,7 @@ 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__
|
||||
+#elif defined __arm__ || defined __aarch64__
|
||||
|
||||
int ___libc_start_main (int (*main) (int argc, char **argv),
|
||||
int argc, char **argv,
|
|
@ -0,0 +1,45 @@
|
|||
--- redhat-lsb-3.2.orig/redhat_lsb_trigger.c 2008-04-16 13:50:14.000000000 -0400
|
||||
+++ redhat-lsb-3.2/redhat_lsb_trigger.c 2009-02-03 04:39:06.000000000 -0500
|
||||
@@ -223,6 +223,42 @@ register void *__thread_self __asm ("g7"
|
||||
# define ASMFMT_1 , "0" (gpr2)
|
||||
# define ASMFMT_2 , "0" (gpr2), "d" (gpr3)
|
||||
# define ASMFMT_3 , "0" (gpr2), "d" (gpr3), "d" (gpr4)
|
||||
+#elif defined __arm__
|
||||
+# if defined (__ARM_EABI__)
|
||||
+#undef INTERNAL_SYSCALL_DECL
|
||||
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
|
||||
+#undef INTERNAL_SYSCALL_RAW
|
||||
+#define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
|
||||
+ ({ \
|
||||
+ register int _a1 asm ("r0"), _nr asm ("r7"); \
|
||||
+ LOAD_ARGS_##nr (args) \
|
||||
+ _nr = name; \
|
||||
+ asm volatile ("swi 0x0 @ syscall " #name \
|
||||
+ : "=r" (_a1) \
|
||||
+ : "r" (_nr) ASM_ARGS_##nr \
|
||||
+ : "memory"); \
|
||||
+ _a1; })
|
||||
+
|
||||
+#undef INTERNAL_SYSCALL
|
||||
+#define INTERNAL_SYSCALL(name, err, nr, args...) \
|
||||
+ INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
|
||||
+
|
||||
+#define LOAD_ARGS_0()
|
||||
+#define ASM_ARGS_0
|
||||
+#define LOAD_ARGS_1(a1) \
|
||||
+ int _a1tmp = (int) (a1); \
|
||||
+ LOAD_ARGS_0 () \
|
||||
+ _a1 = _a1tmp;
|
||||
+#define ASM_ARGS_1 ASM_ARGS_0, "r" (_a1)
|
||||
+#define LOAD_ARGS_2(a1, a2) \
|
||||
+ int _a2tmp = (int) (a2); \
|
||||
+ LOAD_ARGS_1 (a1) \
|
||||
+ register int _a2 asm ("a2") = _a2tmp;
|
||||
+#define ASM_ARGS_2 ASM_ARGS_1, "r" (_a2)
|
||||
+#undef SYS_ify
|
||||
+#define SWI_BASE (0x900000)
|
||||
+#define SYS_ify(syscall_name) (__NR_##syscall_name)
|
||||
+#endif
|
||||
#elif defined __sparc__
|
||||
# ifndef __arch64__
|
||||
# define __INTERNAL_SYSCALL_STRING \
|
|
@ -0,0 +1,43 @@
|
|||
diff -up redhat-lsb-3.1/lsb_start_daemon.orig redhat-lsb-3.1/lsb_start_daemon
|
||||
--- redhat-lsb-3.1/lsb_start_daemon.orig 2009-05-15 11:20:17.000000000 -0400
|
||||
+++ redhat-lsb-3.1/lsb_start_daemon 2009-05-15 11:33:03.000000000 -0400
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
nice=
|
||||
force=
|
||||
+pidfile=
|
||||
+user=
|
||||
+check=
|
||||
RETVAL=
|
||||
while [ "$1" != "${1##[-+]}" ]; do
|
||||
case $1 in
|
||||
@@ -15,7 +18,28 @@ while [ "$1" != "${1##[-+]}" ]; do
|
||||
nice=$2
|
||||
shift 2
|
||||
;;
|
||||
+ -p)
|
||||
+ pidfile="--pidfile $2"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -u)
|
||||
+ user="--user $2"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ -c)
|
||||
+ check="--check $2"
|
||||
+ shift 2
|
||||
+ ;;
|
||||
+ *)
|
||||
+ echo "Unknown Option $1"
|
||||
+ echo "Options are:"
|
||||
+ echo "-f"
|
||||
+ echo "-p {pidfile}"
|
||||
+ echo "-n [+/-nicelevel]"
|
||||
+ echo "-u {user}"
|
||||
+ echo "-c {base}"
|
||||
+ exit 1;;
|
||||
esac
|
||||
done
|
||||
-LSB=LSB-1.1 daemon ${force:-} ${nice:-} $*
|
||||
+LSB=LSB-1.1 daemon ${force:-} ${nice:-} ${pidfile:-} ${user:-} ${check:-} $*
|
||||
exit $?
|
|
@ -0,0 +1,134 @@
|
|||
--- 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)
|
1251
redhat-lsb.spec
1251
redhat-lsb.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue