From a183b3f8bcdafe722a6232b9ea10c4951d6e588e Mon Sep 17 00:00:00 2001 From: "Bart vdr. Meulen" Date: Sun, 2 Aug 2009 16:45:33 +0200 Subject: Add g++ to required tools Because gmp is now always build with --enable-cxx, g++ has become a required tool Signed-off-by: Bart vdr Meulen --- diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index 36c77ba..6382c0a 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -405,7 +405,7 @@ if [ -z "${CT_RESTART}" ]; then else case "${tool}" in # We'll at least need some of them... - ar|as|gcc|ld|nm|objcopy|objdump|ranlib) + ar|as|gcc|g++|ld|nm|objcopy|objdump|ranlib) CT_Abort "Missing: '${t}${tool}${!s}' or '${t}${tool}' or '${tool}' : either needed!" ;; # Some are conditionnally required -- cgit v0.10.2-6-g49f6 From 7c3dcb42dc4d7f2e3adeb40f954ee94ef1afa7ee Mon Sep 17 00:00:00 2001 From: "Bart vdr. Meulen" Date: Sun, 2 Aug 2009 16:45:43 +0200 Subject: fix wrapper script for symlinks The wrapper script placed around the target binaries when using the companion libraries does not work for symbolic links The wrapper scripts needs to follow the links before calling the actual binary Signed-off-by: Bart vdr. Meulen --- diff --git a/scripts/wrapper.in b/scripts/wrapper.in index 6222333..1c501eb 100644 --- a/scripts/wrapper.in +++ b/scripts/wrapper.in @@ -1,7 +1,8 @@ #!/bin/sh -dirname="$(dirname "${0}")" -basename="$(basename "${0}")" +canonicalizedname=$(readlink -nm "${0}") +dirname="$(dirname "${canonicalizedname}")" +basename="$(basename "${canonicalizedname}")" ld_lib_path="$(dirname "${dirname}")/lib" -- cgit v0.10.2-6-g49f6 From 88cac8531b1b565e0844ecf91ed42dd77ba8c63a Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:35 +0200 Subject: [kernel-linux] Add latest versions Add 2.6.29.{5,6} and 2.6.30{,.1} Update 2.6.27.24 to 2.6.27.26 as long-term stable. diff --git a/config/kernel/linux.in b/config/kernel/linux.in index 988ab21..5f69e3e 100644 --- a/config/kernel/linux.in +++ b/config/kernel/linux.in @@ -76,9 +76,9 @@ config KERNEL_V_2_6_26_8 prompt "2.6.26.8 (OBSOLETE)" depends on OBSOLETE -config KERNEL_V_2_6_27_24 +config KERNEL_V_2_6_27_29 bool - prompt "2.6.27.24" + prompt "2.6.27.29 (long-term stable)" config KERNEL_V_2_6_28_10 bool @@ -104,6 +104,34 @@ config KERNEL_V_2_6_29_4 bool prompt "2.6.29.4" +config KERNEL_V_2_6_29_5 + bool + prompt "2.6.29.5" + +config KERNEL_V_2_6_29_6 + bool + prompt "2.6.29.6" + +config KERNEL_V_2_6_30 + bool + prompt "2.6.30" + +config KERNEL_V_2_6_30_1 + bool + prompt "2.6.30.1" + +config KERNEL_V_2_6_30_2 + bool + prompt "2.6.30.2" + +config KERNEL_V_2_6_30_3 + bool + prompt "2.6.30.3" + +config KERNEL_V_2_6_30_4 + bool + prompt "2.6.30.4" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! @@ -126,13 +154,20 @@ config KERNEL_VERSION default "2.6.24.7" if KERNEL_V_2_6_24_7 default "2.6.25.20" if KERNEL_V_2_6_25_20 default "2.6.26.8" if KERNEL_V_2_6_26_8 - default "2.6.27.24" if KERNEL_V_2_6_27_24 + default "2.6.27.29" if KERNEL_V_2_6_27_29 default "2.6.28.10" if KERNEL_V_2_6_28_10 default "2.6.29" if KERNEL_V_2_6_29 default "2.6.29.1" if KERNEL_V_2_6_29_1 default "2.6.29.2" if KERNEL_V_2_6_29_2 default "2.6.29.3" if KERNEL_V_2_6_29_3 default "2.6.29.4" if KERNEL_V_2_6_29_4 + default "2.6.29.5" if KERNEL_V_2_6_29_5 + default "2.6.29.6" if KERNEL_V_2_6_29_6 + default "2.6.30" if KERNEL_V_2_6_30 + default "2.6.30.1" if KERNEL_V_2_6_30_1 + default "2.6.30.2" if KERNEL_V_2_6_30_2 + default "2.6.30.3" if KERNEL_V_2_6_30_3 + default "2.6.30.4" if KERNEL_V_2_6_30_4 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! help -- cgit v0.10.2-6-g49f6 From 76a9f0fd167ff69c10e597c56ee5c2398761beaf Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:36 +0200 Subject: [debug-duma] Add latest versions Add 2.5.15, propagate patchset from 2_5_14 up to 2_5_15. diff --git a/config/debug/duma.in b/config/debug/duma.in index eebb621..8c8caa4 100644 --- a/config/debug/duma.in +++ b/config/debug/duma.in @@ -37,6 +37,10 @@ config DUMA_V_2_5_14 bool prompt "2_5_14" +config DUMA_V_2_5_15 + bool + prompt "2.5.15" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -47,5 +51,6 @@ config DUMA_VERSION default "2_5_8" if DUMA_V_2_5_8 default "2_5_12" if DUMA_V_2_5_12 default "2_5_14" if DUMA_V_2_5_14 + default "2.5.15" if DUMA_V_2_5_15 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/duma/2_5_15/100-cross-compile.patch b/patches/duma/2_5_15/100-cross-compile.patch new file mode 100644 index 0000000..cc95160 --- /dev/null +++ b/patches/duma/2_5_15/100-cross-compile.patch @@ -0,0 +1,32 @@ +diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile +--- duma_2_5_15.orig/GNUmakefile 2008-08-03 21:22:38.000000000 +0200 ++++ duma_2_5_15/GNUmakefile 2009-06-19 15:32:23.000000000 +0200 +@@ -93,10 +93,6 @@ + # also define 'WIN32' + + # some defaults: +-CC=gcc +-CXX=g++ +-AR=ar +-RANLIB=ranlib + INSTALL=install + RM=rm + RMFORCE=rm -f +@@ -471,7 +467,7 @@ + + createconf$(EXEPOSTFIX): createconf.o + - $(RMFORCE) createconf$(EXEPOSTFIX) +- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) ++ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) + + tstheap$(EXEPOSTFIX): libduma.a tstheap.o + - $(RMFORCE) tstheap$(EXEPOSTFIX) +@@ -532,7 +528,7 @@ + # define rules how to build objects for createconf + # + createconf.o: +- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ ++ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ + + + # diff --git a/patches/duma/2_5_15/110-separate_cpp.patch b/patches/duma/2_5_15/110-separate_cpp.patch new file mode 100644 index 0000000..4bbccc7 --- /dev/null +++ b/patches/duma/2_5_15/110-separate_cpp.patch @@ -0,0 +1,19 @@ +diff -durN duma_2_5_15.orig/GNUmakefile duma_2_5_15/GNUmakefile +--- duma_2_5_15.orig/GNUmakefile 2009-06-19 16:41:53.000000000 +0200 ++++ duma_2_5_15/GNUmakefile 2009-06-19 16:43:53.000000000 +0200 +@@ -289,9 +289,13 @@ + dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \ + createconf.c + +-OBJECTS=dumapp.o duma.o sem_inc.o print.o ++OBJECTS = duma.o sem_inc.o print.o ++SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o + +-SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o ++ifeq ($(DUMA_CPP),1) ++OBJECTS += dumapp.o ++SO_OBJECTS += dumapp_so.o ++endif + + # Make all the top-level targets the makefile knows about. + all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS) -- cgit v0.10.2-6-g49f6 From 70a15a5026730c2df1b997073c400c9d502d5fb5 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:36 +0200 Subject: [debug-ltrace] Add latest version. Add ltrace 0.5.2, propagate patchset from 0.5.1 and from Debian. diff --git a/config/debug/ltrace.in b/config/debug/ltrace.in index 6b7c029..4b141e0 100644 --- a/config/debug/ltrace.in +++ b/config/debug/ltrace.in @@ -25,6 +25,10 @@ config LTRACE_V_0_5_1 prompt "0.5.1 (EXPERIMENTAL)" depends on EXPERIMENTAL +config LTRACE_V_0_5_2 + bool + prompt "0.5.2" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -34,5 +38,6 @@ config LTRACE_VERSION default "0.4" if LTRACE_V_0_4 default "0.5" if LTRACE_V_0_5 default "0.5.1" if LTRACE_V_0_5_1 + default "0.5.2" if LTRACE_V_0_5_2 # CT_INSERT_VERSION_STRING_ABOVE # # Don't remove above line! diff --git a/patches/ltrace/0.5.2/100-allow-cross-compile.patch b/patches/ltrace/0.5.2/100-allow-cross-compile.patch new file mode 100644 index 0000000..10440ad --- /dev/null +++ b/patches/ltrace/0.5.2/100-allow-cross-compile.patch @@ -0,0 +1,77 @@ +diff -durN ltrace-0.5.2.orig/Makefile.in ltrace-0.5.2/Makefile.in +--- ltrace-0.5.2.orig/Makefile.in 2009-05-21 19:14:54.000000000 +0200 ++++ ltrace-0.5.2/Makefile.in 2009-06-27 15:30:34.000000000 +0200 +@@ -2,8 +2,14 @@ + # ltrace's Makefile.in + # + +-#OS := $(shell uname -s) + OS := @HOST_OS@ ++ARCH := $(shell echo "@HOST_ARCH@" |sed -e s/i.86/i386/ \ ++ -e s/sun4u/sparc64/ \ ++ -e s/arm.*/arm/ \ ++ -e s/sa110/arm/ \ ++ -e s/ppc64/ppc/ \ ++ -e s/s390x/s390/) ++export ARCH + + TOPDIR = $(shell pwd) + +diff -durN ltrace-0.5.2.orig/configure ltrace-0.5.2/configure +--- ltrace-0.5.2.orig/configure 2009-05-21 19:14:57.000000000 +0200 ++++ ltrace-0.5.2/configure 2009-06-27 15:30:34.000000000 +0200 +@@ -660,6 +660,7 @@ + host_cpu + host_vendor + host_os ++HOST_ARCH + HOST_OS + CC + CFLAGS +@@ -1823,6 +1824,7 @@ + case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + ++HOST_ARCH="$host_cpu" + case "$host_os" in + linux-gnu*) host_os=linux-gnu + esac +@@ -5406,6 +5408,7 @@ + host_cpu!$host_cpu$ac_delim + host_vendor!$host_vendor$ac_delim + host_os!$host_os$ac_delim ++HOST_ARCH!$HOST_ARCH$ac_delim + HOST_OS!$HOST_OS$ac_delim + CC!$CC$ac_delim + CFLAGS!$CFLAGS$ac_delim +@@ -5426,7 +5429,7 @@ + LTLIBOBJS!$LTLIBOBJS$ac_delim + _ACEOF + +- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 63; then ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 64; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +diff -durN ltrace-0.5.2.orig/configure.ac ltrace-0.5.2/configure.ac +--- ltrace-0.5.2.orig/configure.ac 2009-05-21 19:14:54.000000000 +0200 ++++ ltrace-0.5.2/configure.ac 2009-06-27 15:30:34.000000000 +0200 +@@ -11,6 +11,8 @@ + esac + HOST_OS="$host_os" + AC_SUBST(HOST_OS) ++HOST_ARCH="$host_cpu" ++AC_SUBST(HOST_ARCH) + + dnl Checks for programs. + AC_PROG_CC +diff -durN ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile ltrace-0.5.2/sysdeps/linux-gnu/Makefile +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile 2009-05-21 19:14:54.000000000 +0200 ++++ ltrace-0.5.2/sysdeps/linux-gnu/Makefile 2009-06-27 15:30:34.000000000 +0200 +@@ -1,6 +1,3 @@ +-ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ +- -e s/arm.*/arm/ -e s/sa110/arm/ -e s/ppc64/ppc/ -e s/s390x/s390/) +- + CPPFLAGS += -I$(TOPDIR)/sysdeps/linux-gnu/$(ARCH) + + OBJ = events.o trace.o proc.o breakpoint.o diff --git a/patches/ltrace/0.5.2/110-alpha-support.patch b/patches/ltrace/0.5.2/110-alpha-support.patch new file mode 100644 index 0000000..f121ca1 --- /dev/null +++ b/patches/ltrace/0.5.2/110-alpha-support.patch @@ -0,0 +1,11 @@ +diff -durN ltrace-0.5.2.orig/Makefile.in ltrace-0.5.2/Makefile.in +--- ltrace-0.5.2.orig/Makefile.in 2009-06-27 15:34:04.000000000 +0200 ++++ ltrace-0.5.2/Makefile.in 2009-06-27 15:34:27.000000000 +0200 +@@ -5,6 +5,7 @@ + OS := @HOST_OS@ + ARCH := $(shell echo "@HOST_ARCH@" |sed -e s/i.86/i386/ \ + -e s/sun4u/sparc64/ \ ++ -e s/alpha.*/alpha/ \ + -e s/arm.*/arm/ \ + -e s/sa110/arm/ \ + -e s/ppc64/ppc/ \ diff --git a/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch b/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch new file mode 100644 index 0000000..6d62315 --- /dev/null +++ b/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch @@ -0,0 +1,240 @@ +--- ltrace-0.5.2.orig/TODO ++++ ltrace-0.5.2/TODO +@@ -37,3 +37,4 @@ + * debug: change "-d" option to be something like "-d elf,events", or "-d breakpoints" + * Find out if a process is sharing memory with its parent? + * When using -p, find out if that process is sharing memory with other procs ++* After a clone(), syscalls may be seen as sysrets in s390 (see trace.c:syscall_p()) +--- ltrace-0.5.2.orig/process_event.c ++++ ltrace-0.5.2/process_event.c +@@ -170,7 +170,7 @@ + enable_breakpoint(proc->pid, proc->breakpoint_being_enabled); + proc->breakpoint_being_enabled = NULL; + } +- if (proc->parent->state == STATE_ATTACHED && options.follow) { ++ if (options.follow) { + proc->state = STATE_ATTACHED; + } else { + proc->state = STATE_IGNORED; +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/ppc/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/ppc/trace.c +@@ -50,9 +50,9 @@ + *sysnum = + (int)ptrace(PTRACE_PEEKUSER, proc->pid, + sizeof(long) * PT_R0, 0); +- if (proc->callstack_depth > 0 +- && proc->callstack[proc->callstack_depth - +- 1].is_syscall) { ++ if (proc->callstack_depth > 0 && ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } + return 1; +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/i386/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/i386/trace.c +@@ -32,7 +32,8 @@ + *sysnum = ptrace(PTRACE_PEEKUSER, proc->pid, 4 * ORIG_EAX, 0); + + if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - 1].is_syscall) { ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } + +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/ia64/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/ia64/trace.c +@@ -106,8 +106,8 @@ + if (insn == 0x1000000000 || insn == 0x1ffffffffff) { + *sysnum = r15; + if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - +- 1].is_syscall) { ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } + return 1; +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/m68k/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/m68k/trace.c +@@ -36,9 +36,8 @@ + if (*sysnum >= 0) { + depth = proc->callstack_depth; + if (depth > 0 && +- proc->callstack[depth - 1].is_syscall && +- proc->callstack[depth - 1].c_un.syscall == +- *sysnum) { ++ proc->callstack[depth - 1].is_syscall && ++ proc->callstack[depth - 1].c_un.syscall == *sysnum) { + return 2; + } else { + return 1; +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/alpha/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/alpha/trace.c +@@ -36,8 +36,9 @@ + return 0; + *sysnum = + ptrace(PTRACE_PEEKUSER, proc->pid, 0 /* REG_R0 */ , 0); +- if (proc->callstack_depth > 0 +- && proc->callstack[proc->callstack_depth - 1].is_syscall) { ++ if (proc->callstack_depth > 0 && ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } + if (*sysnum >= 0 && *sysnum < 500) { +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/sparc/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/sparc/trace.c +@@ -33,9 +33,9 @@ + insn = ptrace(PTRACE_PEEKTEXT, proc->pid, ip, 0); + if ((insn & 0xc1f8007f) == 0x81d00010) { + *sysnum = ((proc_archdep *) proc->arch_ptr)->regs.r_g1; +- if ((proc->callstack_depth > 0) +- && proc->callstack[proc->callstack_depth - +- 1].is_syscall) { ++ if (proc->callstack_depth > 0 && ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } else if (*sysnum >= 0) { + return 1; +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/mipsel/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/mipsel/trace.c +@@ -60,33 +60,34 @@ + int + syscall_p(Process *proc, int status, int *sysnum) { + if (WIFSTOPPED(status) +- && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) { +- /* get the user's pc (plus 8) */ +- long pc = (long)get_instruction_pointer(proc); +- /* fetch the SWI instruction */ +- int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); +- int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); +- +-/* +- On a mipsel, syscall looks like: +- 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall +- 0000000c syscall +- */ +- if(insn!=0x0000000c){ +- return 0; +- } +- +- *sysnum = (num & 0xFFFF) - 4000; +- /* if it is a syscall, return 1 or 2 */ +- if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - 1].is_syscall) { +- return 2; +- } +- +- if (*sysnum >= 0) { +- return 1; +- } +- } ++ && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) { ++ /* get the user's pc (plus 8) */ ++ long pc = (long)get_instruction_pointer(proc); ++ /* fetch the SWI instruction */ ++ int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0); ++ int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0); ++ ++ /* ++ On a mipsel, syscall looks like: ++ 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall ++ 0000000c syscall ++ */ ++ if(insn!=0x0000000c){ ++ return 0; ++ } ++ ++ *sysnum = (num & 0xFFFF) - 4000; ++ /* if it is a syscall, return 1 or 2 */ ++ if (proc->callstack_depth > 0 && ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { ++ return 2; ++ } ++ ++ if (*sysnum >= 0) { ++ return 1; ++ } ++ } + return 0; + } + /** +@@ -119,34 +120,34 @@ + */ + long + gimme_arg(enum tof type, Process *proc, int arg_num, arg_type_info *info) { +- long ret; +- debug(2,"type %d arg %d",type,arg_num); +- if (type == LT_TOF_FUNCTION || type == LT_TOF_SYSCALL){ +- if(arg_num <4){ +- ret=ptrace(PTRACE_PEEKUSER,proc->pid,off_a0+arg_num,0); +- debug(2,"ret = %#lx",ret); +- return ret; +- } else { +- // If we need this, I think we can look at [sp+16] for arg_num==4. +- CP; +- return 0; +- } +- } +- if(arg_num>=0){ +- fprintf(stderr,"args on return?"); +- } +- if(type == LT_TOF_FUNCTIONR) { +- return ptrace(PTRACE_PEEKUSER,proc->pid,off_v0,0); +- } +- if (type == LT_TOF_SYSCALLR) { +- unsigned a3=ptrace(PTRACE_PEEKUSER, proc->pid,off_a3,0); +- unsigned v0=ptrace(PTRACE_PEEKUSER, proc->pid,off_v0,0); +- if(!a3){ +- return v0; +- } +- return -1; +- } +- fprintf(stderr, "gimme_arg called with wrong arguments\n"); ++ long ret; ++ debug(2,"type %d arg %d",type,arg_num); ++ if (type == LT_TOF_FUNCTION || type == LT_TOF_SYSCALL){ ++ if(arg_num <4){ ++ ret=ptrace(PTRACE_PEEKUSER,proc->pid,off_a0+arg_num,0); ++ debug(2,"ret = %#lx",ret); ++ return ret; ++ } else { ++ // If we need this, I think we can look at [sp+16] for arg_num==4. ++ CP; ++ return 0; ++ } ++ } ++ if(arg_num>=0){ ++ fprintf(stderr,"args on return?"); ++ } ++ if(type == LT_TOF_FUNCTIONR) { ++ return ptrace(PTRACE_PEEKUSER,proc->pid,off_v0,0); ++ } ++ if (type == LT_TOF_SYSCALLR) { ++ unsigned a3=ptrace(PTRACE_PEEKUSER, proc->pid,off_a3,0); ++ unsigned v0=ptrace(PTRACE_PEEKUSER, proc->pid,off_v0,0); ++ if(!a3){ ++ return v0; ++ } ++ return -1; ++ } ++ fprintf(stderr, "gimme_arg called with wrong arguments\n"); + return 0; + } + +--- ltrace-0.5.2.orig/sysdeps/linux-gnu/x86_64/trace.c ++++ ltrace-0.5.2/sysdeps/linux-gnu/x86_64/trace.c +@@ -41,7 +41,8 @@ + *sysnum = ptrace(PTRACE_PEEKUSER, proc->pid, 8 * ORIG_RAX, 0); + + if (proc->callstack_depth > 0 && +- proc->callstack[proc->callstack_depth - 1].is_syscall) { ++ proc->callstack[proc->callstack_depth - 1].is_syscall && ++ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) { + return 2; + } + -- cgit v0.10.2-6-g49f6 From 4892bbc7263d77b31a59e066879b7a818cc75fe8 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:37 +0200 Subject: [libc-eglibc] Add latest version Add latest branch 2_10. diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in index 81cdb1d..ced8d95 100644 --- a/config/libc/eglibc.in +++ b/config/libc/eglibc.in @@ -36,6 +36,10 @@ config EGLIBC_V_2_9 bool prompt "2_9" +config LIBC_V_2_10 + bool + prompt "2_10" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! @@ -55,6 +59,7 @@ config LIBC_VERSION default "2_7" if EGLIBC_V_2_7 default "2_8" if EGLIBC_V_2_8 default "2_9" if EGLIBC_V_2_9 + default "2_10" if LIBC_V_2_10 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/eglibc/2_10/100-powerpc-8xx-CPU15-errata.patch b/patches/eglibc/2_10/100-powerpc-8xx-CPU15-errata.patch new file mode 100644 index 0000000..4fe1bb2 --- /dev/null +++ b/patches/eglibc/2_10/100-powerpc-8xx-CPU15-errata.patch @@ -0,0 +1,49 @@ +diff -ru eglibc-2_9_orig/sysdeps/powerpc/powerpc32/memset.S eglibc-2_9/sysdeps/powerpc/powerpc32/memset.S +--- eglibc-2_9_orig/sysdeps/powerpc/powerpc32/memset.S 2007-04-13 08:35:45.000000000 -0700 ++++ eglibc-2_9/sysdeps/powerpc/powerpc32/memset.S 2009-05-06 16:52:04.000000000 -0700 +@@ -112,11 +112,13 @@ + clrrwi. rALIGN, rLEN, 5 + mtcrf 0x01, rLEN /* 40th instruction from .align */ + ++#ifndef BROKEN_PPC_8xx_CPU15 + /* Check if we can use the special case for clearing memory using dcbz. + This requires that we know the correct cache line size for this + processor. Getting the __cache_line_size may require establishing GOT + addressability, so branch out of line to set this up. */ + beq cr1, L(checklinesize) ++#endif + + /* Store blocks of 32-bytes (256-bits) starting on a 32-byte boundary. + Can't assume that rCHR is zero or that the cache line size is either +@@ -158,6 +160,7 @@ + add rMEMP, rMEMP, rALIGN + b L(medium_tail2) /* 72nd instruction from .align */ + ++#ifndef BROKEN_PPC_8xx_CPU15 + .align 5 + nop + /* Clear cache lines of memory in 128-byte chunks. +@@ -191,6 +194,7 @@ + bdnz L(zloop) + beqlr cr5 + b L(medium_tail2) ++#endif /* ! BROKEN_PPC_8xx_CPU15 */ + + .align 5 + L(small): +@@ -248,6 +252,7 @@ + stw rCHR, -8(rMEMP) + blr + ++#ifndef BROKEN_PPC_8xx_CPU15 + L(checklinesize): + #ifdef SHARED + mflr rTMP +@@ -329,6 +334,7 @@ + L(handletail32): + clrrwi. rALIGN, rLEN, 5 + b L(nondcbz) ++#endif /* ! BROKEN_PPC_8xx_CPU15 */ + + END (BP_SYM (memset)) + libc_hidden_builtin_def (memset) -- cgit v0.10.2-6-g49f6 From 8f375a1411b6712161e434d7a574e272c0ca3689 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:37 +0200 Subject: [tools-libelf] Add latest version. Add libelf 0.8.11, propagate patchset from 0.8.10. diff --git a/config/tools/libelf.in b/config/tools/libelf.in index f8df6a7..3002a15 100644 --- a/config/tools/libelf.in +++ b/config/tools/libelf.in @@ -13,6 +13,10 @@ config LIBELF_V_0_8_10 bool prompt "0.8.10" +config LIBELF_V_0_8_11 + bool + prompt "0.8.11" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -20,5 +24,6 @@ endchoice config LIBELF_VERSION string default "0.8.10" if LIBELF_V_0_8_10 + default "0.8.11" if LIBELF_V_0_8_11 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/libelf/0.8.11/100-fix-64-bit-detection.patch b/patches/libelf/0.8.11/100-fix-64-bit-detection.patch new file mode 100644 index 0000000..7995443 --- /dev/null +++ b/patches/libelf/0.8.11/100-fix-64-bit-detection.patch @@ -0,0 +1,24 @@ +diff -dur libelf-0.8.10.orig/configure libelf-0.8.10/configure +--- libelf-0.8.10.orig/configure 2007-09-07 14:08:06.000000000 +0200 ++++ libelf-0.8.10/configure 2008-10-23 22:43:19.000000000 +0200 +@@ -1595,7 +1595,7 @@ + echo $ac_n "(cached) $ac_c" 1>&6 + else + if test "$cross_compiling" = yes; then +- ac_cv_sizeof_long_long=0 ++ ac_cv_sizeof_long_long=8 + else + cat > conftest.$ac_ext < Date: Sun, 2 Aug 2009 23:33:37 +0200 Subject: [comp-lib-gmp] Add latest versions Add 4.3.0 and 4.3.1. diff --git a/config/companion_libs/gmp.in b/config/companion_libs/gmp.in index c4fc246..a87f417 100644 --- a/config/companion_libs/gmp.in +++ b/config/companion_libs/gmp.in @@ -12,6 +12,14 @@ config GMP_V_4_2_4 bool prompt "4.2.4" +config GMP_V_4_3_0 + bool + prompt "4.3.0" + +config GMP_V_4_3_1 + bool + prompt "4.3.1" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -20,5 +28,7 @@ config GMP_VERSION string default "4.2.2" if GMP_V_4_2_2 default "4.2.4" if GMP_V_4_2_4 + default "4.3.0" if GMP_V_4_3_0 + default "4.3.1" if GMP_V_4_3_1 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch b/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch new file mode 100644 index 0000000..f60e88f --- /dev/null +++ b/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch @@ -0,0 +1,33 @@ +diff --git a/mpz/remove.c b/mpz/remove.c +--- a/mpz/remove.c ++++ b/mpz/remove.c +@@ -23,7 +23,7 @@ + unsigned long int + mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f) + { +- mpz_t fpow[40]; /* inexhaustible...until year 2020 or so */ ++ mpz_t fpow[GMP_LIMB_BITS]; /* Really MP_SIZE_T_BITS */ + mpz_t x, rem; + unsigned long int pwr; + int p; +@@ -69,7 +69,7 @@ + mpz_set (dest, x); + } + +- pwr = (1 << p) - 1; ++ pwr = (1L << p) - 1; + + mpz_clear (fpow[p]); + +diff --git a/mpz/remove.c b/mpz/remove.c +--- a/mpz/remove.c ++++ b/mpz/remove.c +@@ -80,7 +80,7 @@ + mpz_tdiv_qr (x, rem, dest, fpow[p]); + if (SIZ (rem) == 0) + { +- pwr += 1 << p; ++ pwr += 1L << p; + mpz_set (dest, x); + } + mpz_clear (fpow[p]); diff --git a/patches/gmp/4.3.1/110-unbounded-alloc.patch b/patches/gmp/4.3.1/110-unbounded-alloc.patch new file mode 100644 index 0000000..78e0588 --- /dev/null +++ b/patches/gmp/4.3.1/110-unbounded-alloc.patch @@ -0,0 +1,31 @@ +diff --git a/mpn/generic/toom44_mul.c b/mpn/generic/toom44_mul.c +--- a/mpn/generic/toom44_mul.c ++++ b/mpn/generic/toom44_mul.c +@@ -116,17 +116,16 @@ + + TMP_MARK; + +- as1 = TMP_SALLOC_LIMBS (n + 1); +- asm1 = TMP_SALLOC_LIMBS (n + 1); +- as2 = TMP_SALLOC_LIMBS (n + 1); +- ash = TMP_SALLOC_LIMBS (n + 1); +- asmh = TMP_SALLOC_LIMBS (n + 1); +- +- bs1 = TMP_SALLOC_LIMBS (n + 1); +- bsm1 = TMP_SALLOC_LIMBS (n + 1); +- bs2 = TMP_SALLOC_LIMBS (n + 1); +- bsh = TMP_SALLOC_LIMBS (n + 1); +- bsmh = TMP_SALLOC_LIMBS (n + 1); ++ as1 = TMP_ALLOC_LIMBS (10 * n + 10); ++ asm1 = as1 + n + 1; ++ as2 = asm1 + n + 1; ++ ash = as2 + n + 1; ++ asmh = ash + n + 1; ++ bs1 = asmh + n + 1; ++ bsm1 = bs1 + n + 1; ++ bs2 = bsm1 + n + 1; ++ bsh = bs2 + n + 1; ++ bsmh = bsh + n + 1; + + gp = pp; + hp = pp + n + 1; -- cgit v0.10.2-6-g49f6 From 961bf299cd989c35bda420ae8628b210dede0814 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:38 +0200 Subject: [scripts-add-version] Handle gcc 4.4+ Handle gcc-4.4+ when adding a new gcc version. diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh index 337c656..255b8fe 100755 --- a/scripts/addToolVersion.sh +++ b/scripts/addToolVersion.sh @@ -96,7 +96,11 @@ addToolVersion() { ver_m=$(echo "${version}...." |cut -d . -f 2) if [ ${ver_M} -gt 4 \ -o \( ${ver_M} -eq 4 -a ${ver_m} -ge 3 \) ]; then - SedExpr1=" select CC_GCC_4_3_or_later\n" + SedExpr1="${SedExpr1} select CC_GCC_4_3_or_later\n" + fi + if [ ${ver_M} -gt 4 \ + -o \( ${ver_M} -eq 4 -a ${ver_m} -ge 4 \) ]; then + SedExpr1="${SedExpr1} select CC_GCC_4_4_or_later\n" fi fi SedExpr2=" default \"${version}\" if ${cat}_V_${v}" -- cgit v0.10.2-6-g49f6 From 200c8a2c917e41d9976dc8be846aa23ddde70d6c Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 2 Aug 2009 23:33:38 +0200 Subject: [cc-gcc] Add latest versions Add gcc-4.4.1 diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 3a672b0..9ddc9de 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -118,6 +118,13 @@ config CC_V_4_4_0 select CC_GCC_4_3_or_later select CC_GCC_4_4_or_later +config CC_V_4_4_1 + bool + prompt "4.4.1 (EXPERIMENTAL)" + depends on EXPERIMENTAL + select CC_GCC_4_3_or_later + select CC_GCC_4_4_or_later + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -155,6 +162,7 @@ config CC_VERSION default "4.3.2" if CC_V_4_3_2 default "4.3.3" if CC_V_4_3_3 default "4.4.0" if CC_V_4_4_0 + default "4.4.1" if CC_V_4_4_1 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! -- cgit v0.10.2-6-g49f6