Frank Lichtenheld wrote: > On Fri, Nov 10, 2006 at 01:03:04AM +0100, Michael Biebl wrote: >> Frank Lichtenheld wrote: >>> your package failed to build from source since it tried to use >>> the __thread keyword on hppa where it is not supported. >>> >> thanks for your bug report. I guess, upstart is not the only program >> using __thread and so failing to compile on hppa. Do you know how others >> solved this issue? Can you give me some pointers how to deal with this >> properly? > > glibc uses __thread (I know because it currently fails to build from > source in experimental on hppa because of this ;). But I can't say > how it handles arches where it is not supported. >
Hi Frank, could you please try the attached patch (patch -p1) and tell me if successfully compiles on hppa then. Cheers, Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
diff -urN upstart-0.2.7.orig/aclocal.m4 upstart-0.2.7/aclocal.m4 --- upstart-0.2.7.orig/aclocal.m4 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/aclocal.m4 2006-11-11 15:03:28.000000000 +0100 @@ -7241,6 +7241,7 @@ m4_include([m4/signed.m4]) m4_include([m4/size_max.m4]) m4_include([m4/stdint_h.m4]) +m4_include([m4/tls.m4]) m4_include([m4/uintmax_t.m4]) m4_include([m4/ulonglong.m4]) m4_include([m4/wchar_t.m4]) diff -urN upstart-0.2.7.orig/compat/sysv/Makefile.in upstart-0.2.7/compat/sysv/Makefile.in --- upstart-0.2.7.orig/compat/sysv/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/compat/sysv/Makefile.in 2006-11-11 15:03:38.000000000 +0100 @@ -54,9 +54,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/config.h.in upstart-0.2.7/config.h.in --- upstart-0.2.7.orig/config.h.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/config.h.in 2006-11-11 15:03:34.000000000 +0100 @@ -186,6 +186,9 @@ /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H +/* Define to 1 if the target supports thread-local storage. */ +#undef HAVE_TLS + /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH diff -urN upstart-0.2.7.orig/configure upstart-0.2.7/configure --- upstart-0.2.7.orig/configure 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/configure 2006-11-11 15:03:33.000000000 +0100 @@ -1491,6 +1491,7 @@ --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --enable-tls Use thread-local storage [default=yes] --enable-compiler-warnings Enable additional compiler warnings --disable-compiler-optimisations @@ -13032,7 +13033,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 13035 "configure"' > conftest.$ac_ext + echo '#line 13036 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -15460,11 +15461,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15463: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15464: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15467: \$? = $ac_status" >&5 + echo "$as_me:15468: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15728,11 +15729,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15731: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15732: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15735: \$? = $ac_status" >&5 + echo "$as_me:15736: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15832,11 +15833,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15835: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15836: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15839: \$? = $ac_status" >&5 + echo "$as_me:15840: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18273,7 +18274,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18276 "configure" +#line 18277 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18373,7 +18374,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18376 "configure" +#line 18377 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -20741,11 +20742,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20744: $lt_compile\"" >&5) + (eval echo "\"\$as_me:20745: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:20748: \$? = $ac_status" >&5 + echo "$as_me:20749: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -20845,11 +20846,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:20848: $lt_compile\"" >&5) + (eval echo "\"\$as_me:20849: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:20852: \$? = $ac_status" >&5 + echo "$as_me:20853: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -22406,11 +22407,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:22409: $lt_compile\"" >&5) + (eval echo "\"\$as_me:22410: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:22413: \$? = $ac_status" >&5 + echo "$as_me:22414: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -22510,11 +22511,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:22513: $lt_compile\"" >&5) + (eval echo "\"\$as_me:22514: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:22517: \$? = $ac_status" >&5 + echo "$as_me:22518: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -24729,11 +24730,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:24732: $lt_compile\"" >&5) + (eval echo "\"\$as_me:24733: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:24736: \$? = $ac_status" >&5 + echo "$as_me:24737: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -24997,11 +24998,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:25000: $lt_compile\"" >&5) + (eval echo "\"\$as_me:25001: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:25004: \$? = $ac_status" >&5 + echo "$as_me:25005: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -25101,11 +25102,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:25104: $lt_compile\"" >&5) + (eval echo "\"\$as_me:25105: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:25108: \$? = $ac_status" >&5 + echo "$as_me:25109: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -28171,6 +28172,160 @@ # Checks for library functions. # Other checks + + # Check whether --enable-tls was given. +if test "${enable_tls+set}" = set; then + enableval=$enable_tls; enable_tls=$enableval +else + enable_tls=yes +fi + + { echo "$as_me:$LINENO: checking whether the target supports thread-local storage" >&5 +echo $ECHO_N "checking whether the target supports thread-local storage... $ECHO_C" >&6; } +if test "${have_tls+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + if test "$cross_compiling" = yes; then + cat >conftest.$ac_ext <<_ACEOF +__thread int foo; +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + have_tls=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + have_tls=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + cat >conftest.$ac_ext <<_ACEOF +__thread int a; int b; int main() { return a = b; } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + save_LDFLAGS="$LDFLAGS" + LDFLAGS="-static $LDFLAGS" + if test "$cross_compiling" = yes; then + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + cat >conftest.$ac_ext <<_ACEOF +__thread int a; int b; int main() { return a = b; } +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + have_tls=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_tls=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + LDFLAGS="$save_LDFLAGS" +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +have_tls=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ echo "$as_me:$LINENO: result: $have_tls" >&5 +echo "${ECHO_T}$have_tls" >&6; } + if test "$enable_tls $have_tls" = "yes yes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TLS 1 +_ACEOF + + fi # Check whether --enable-compiler-warnings was given. if test "${enable_compiler_warnings+set}" = set; then enableval=$enable_compiler_warnings; if test "x$enable_compiler_warnings" = "xyes"; then diff -urN upstart-0.2.7.orig/configure.ac upstart-0.2.7/configure.ac --- upstart-0.2.7.orig/configure.ac 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/configure.ac 2006-11-11 15:03:17.000000000 +0100 @@ -26,6 +26,7 @@ # Checks for library functions. # Other checks +NIH_CHECK_TLS NIH_COMPILER_WARNINGS NIH_COMPILER_OPTIMISATIONS NIH_COMPILER_COVERAGE diff -urN upstart-0.2.7.orig/event.d/Makefile.in upstart-0.2.7/event.d/Makefile.in --- upstart-0.2.7.orig/event.d/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/event.d/Makefile.in 2006-11-11 15:03:38.000000000 +0100 @@ -52,9 +52,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/init/Makefile.in upstart-0.2.7/init/Makefile.in --- upstart-0.2.7.orig/init/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/init/Makefile.in 2006-11-11 15:03:39.000000000 +0100 @@ -54,9 +54,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/logd/Makefile.in upstart-0.2.7/logd/Makefile.in --- upstart-0.2.7.orig/logd/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/logd/Makefile.in 2006-11-11 15:03:39.000000000 +0100 @@ -54,9 +54,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/m4/Makefile.in upstart-0.2.7/m4/Makefile.in --- upstart-0.2.7.orig/m4/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/m4/Makefile.in 2006-11-11 15:03:39.000000000 +0100 @@ -53,9 +53,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/m4/tls.m4 upstart-0.2.7/m4/tls.m4 --- upstart-0.2.7.orig/m4/tls.m4 1970-01-01 01:00:00.000000000 +0100 +++ upstart-0.2.7/m4/tls.m4 2006-11-11 15:03:17.000000000 +0100 @@ -0,0 +1,23 @@ +dnl Check whether the target supports TLS. +AC_DEFUN([NIH_CHECK_TLS], [ + AC_ARG_ENABLE(tls, + AS_HELP_STRING([--enable-tls], [Use thread-local storage @<:@default=yes@:>@]), + [enable_tls=$enableval], [enable_tls=yes]) + AC_CACHE_CHECK([whether the target supports thread-local storage], + have_tls, [ + AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }], + [dnl If the test case passed with dynamic linking, try again with + dnl static linking. This fails at least with some older Red Hat + dnl releases. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="-static $LDFLAGS" + AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }], + [have_tls=yes], [have_tls=no], []) + LDFLAGS="$save_LDFLAGS"], + [have_tls=no], + [AC_COMPILE_IFELSE([__thread int foo;], [have_tls=yes], [have_tls=no])] + )]) + if test "$enable_tls $have_tls" = "yes yes"; then + AC_DEFINE(HAVE_TLS, 1, + [Define to 1 if the target supports thread-local storage.]) + fi]) diff -urN upstart-0.2.7.orig/Makefile.in upstart-0.2.7/Makefile.in --- upstart-0.2.7.orig/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/Makefile.in 2006-11-11 15:03:40.000000000 +0100 @@ -56,9 +56,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ diff -urN upstart-0.2.7.orig/man/Makefile.in upstart-0.2.7/man/Makefile.in --- upstart-0.2.7.orig/man/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/man/Makefile.in 2006-11-11 15:03:39.000000000 +0100 @@ -52,9 +52,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/nih/error.c upstart-0.2.7/nih/error.c --- upstart-0.2.7.orig/nih/error.c 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/nih/error.c 2006-11-11 15:03:17.000000000 +0100 @@ -60,8 +60,11 @@ * * Stack of error contexts. **/ -static __thread NihList *context_stack = NULL; - +#ifdef HAVE_TLS + static __thread NihList *context_stack = NULL; +#else + static NihList *context_stack = NULL; +#endif /** * CURRENT_CONTEXT: diff -urN upstart-0.2.7.orig/nih/main.c upstart-0.2.7/nih/main.c --- upstart-0.2.7.orig/nih/main.c 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/nih/main.c 2006-11-11 15:03:17.000000000 +0100 @@ -130,14 +130,22 @@ * Whether to exit the running main loop, set to TRUE by a call to * #nih_main_loop_exit. **/ -static __thread int exit_loop = 0; +#ifdef HAVE_TLS + static __thread int exit_loop = 0; +#else + static int exit_loop = 0; +#endif /** * exit_status: * * Status to exit the running main loop with, set by #nih_main_loop_exit. **/ -static __thread int exit_status = 0; +#ifdef HAVE_TLS + static __thread int exit_status = 0; +#else + static int exit_status = 0; +#endif /** * loop_functions: diff -urN upstart-0.2.7.orig/nih/Makefile.in upstart-0.2.7/nih/Makefile.in --- upstart-0.2.7.orig/nih/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/nih/Makefile.in 2006-11-11 15:03:39.000000000 +0100 @@ -56,9 +56,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/upstart/Makefile.in upstart-0.2.7/upstart/Makefile.in --- upstart-0.2.7.orig/upstart/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/upstart/Makefile.in 2006-11-11 15:03:40.000000000 +0100 @@ -56,9 +56,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff -urN upstart-0.2.7.orig/util/Makefile.in upstart-0.2.7/util/Makefile.in --- upstart-0.2.7.orig/util/Makefile.in 2006-11-11 15:02:06.000000000 +0100 +++ upstart-0.2.7/util/Makefile.in 2006-11-11 15:03:40.000000000 +0100 @@ -55,9 +55,10 @@ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf-posix.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/signed.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ - $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ - $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/uintmax_t.m4 \ + $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/m4/wchar_t.m4 \ + $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
signature.asc
Description: OpenPGP digital signature