diff options
Diffstat (limited to 'packages/gcc/gcc-4.3.1/debian/boehm-gc-getnprocs.dpatch')
-rw-r--r-- | packages/gcc/gcc-4.3.1/debian/boehm-gc-getnprocs.dpatch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.3.1/debian/boehm-gc-getnprocs.dpatch b/packages/gcc/gcc-4.3.1/debian/boehm-gc-getnprocs.dpatch new file mode 100644 index 0000000000..8d85cdcbb0 --- /dev/null +++ b/packages/gcc/gcc-4.3.1/debian/boehm-gc-getnprocs.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback. + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: boehm-gc/pthread_support.c +=================================================================== +--- boehm-gc/pthread_support.c (revision 127207) ++++ boehm-gc/pthread_support.c (working copy) +@@ -724,7 +724,8 @@ + f = open("/proc/stat", O_RDONLY); + if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) { + WARN("Couldn't read /proc/stat\n", 0); +- return -1; ++ /* Fallback to sysconf after the warning */ ++ return sysconf(_SC_NPROCESSORS_ONLN); + } + for (i = 0; i < len - 100; ++i) { + if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c' |