Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] [new testcase] Regression on qsort_cmp  [Re: status of  Darwin support]
       [not found]                 ` <20090825084613.GA22242@host0.dyn.jankratochvil.net>
@ 2009-08-25  9:40                   ` Jan Kratochvil
  2009-08-25 17:51                     ` Paul Pluzhnikov
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kratochvil @ 2009-08-25  9:40 UTC (permalink / raw)
  To: gdb-patches

Forgotten post to gdb-patches:

On Tue, 11 Aug 2009 10:27:55 +0200, Christian Thalinger wrote:
> objfiles.c:793: internal-error: qsort_cmp: Assertion `obj_section_endaddr (sect1) <= sect2_addr' failed.

Getting randomly this error or:
objfiles.c:817: internal-error: preferred_obj_section: Assertion `(a->objfile->separate_debug_objfile == b->objfile) || (b->objfile->separate_debug_objfile == a->objfile)' failed.

which have both the same reason that solibs overlap in VMAs.

IMO these assertions are right and GDB should rather refuse to load
overlapping sections.  Still they may(?) be required for overlays, actively in
use for IBM Cell (as I was considering overlays as obsolete before myself).

First bugreport of this crash by the courtesy of Mamoru Tasaka in RH Bug 515434.

Requesting approval for the testcase check-in.
Tested on {x86_64,i686}-fedorarawhide-linux-gnu:
FAIL: gdb.base/solib-overlap.exp: 0x40000000: attach (GDB internal error)
FAIL: gdb.base/solib-overlap.exp: 0x50000000: attach (GDB internal error)


Thanks,
Jan


2009-08-25  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.base/solib-overlap.exp, gdb.base/solib-overlap-lib.c,
	gdb.base/solib-overlap-main.c: New.

--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap-lib.c
@@ -0,0 +1,27 @@
+/* Copyright 2009 Free Software Foundation, Inc.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.  */
+
+void
+libsym (void)
+{
+}
+
+#ifdef SYMB
+void
+libsymb (void)
+{
+}
+#endif
--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap-main.c
@@ -0,0 +1,25 @@
+/* Copyright 2009 Free Software Foundation, Inc.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.  */
+
+#include <unistd.h>
+
+int
+main (void)
+{
+  sleep (60);
+
+  return 1;
+}
--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap.exp
@@ -0,0 +1,135 @@
+# Copyright 2009 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.
+
+# Test GDB can cope with two libraries loaded with overlapping VMA ranges.
+# Prelink libraries first so they can be loaded and their native address.
+# In such case `struct linkmap'.l_addr will be zero.  Provide different
+# unprelinked library files on the disk which have zero-based VMAs.  These
+# different files should have their .dynamic section at a different offset in
+# page size so that we get for
+#   warning: .dynamic section for "..." is not at the expected address
+# the reason
+#   (wrong library or version mismatch?)
+# and not:
+#   difference appears to be caused by prelink, adjusting expectations
+# In such case both disk libraries will be loaded at VMAs starting at zero.
+
+if [skip_shlib_tests] {
+    return 0
+}
+
+# Are we on a target board?  It is required for attaching to a process.
+if [is_remote target] {
+    return 0
+}
+
+# Library file.
+set libname "solib-overlap-lib"
+set srcfile_lib ${srcdir}/${subdir}/${libname}.c
+# Binary file.
+set testfile "solib-overlap-main"
+set srcfile ${srcdir}/${subdir}/${testfile}.c
+
+# Base addresses for `prelink -r' which should be compatible with both -m32 and
+# -m64 targets.  If it clashes with system prelinked libraries it would give
+# false PASS.
+# Prelink first lib1 at 0x40000000 and lib2 at 0x41000000.
+# During second pass try lib1 at 0x50000000 and lib2 at 0x51000000.
+foreach prelink_lib1 {0x40000000 0x50000000} {
+    set prelink_lib2 [format "0x%x" [expr $prelink_lib1 + 0x01000000]]
+
+    set old_prefix $pf_prefix
+    lappend pf_prefix "$prelink_lib1:"
+
+    # Library file.
+    set binfile_lib1 ${objdir}/${subdir}/${libname}1-${prelink_lib1}.so
+    set binfile_lib2 ${objdir}/${subdir}/${libname}2-${prelink_lib1}.so
+    set lib_flags {debug}
+    # Binary file.
+    set binfile_base ${testfile}-${prelink_lib1}
+    set binfile ${objdir}/${subdir}/${binfile_base}
+    set bin_flags [list debug shlib=${binfile_lib1} shlib=${binfile_lib2}]
+    set escapedbinfile  [string_to_regexp ${binfile}]
+
+    if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib1} $lib_flags] != ""
+	 || [gdb_compile_shlib ${srcfile_lib} ${binfile_lib2} $lib_flags] != ""
+	 || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
+	untested "Could not compile ${binfile_lib1}, ${binfile_lib2} or ${binfile}."
+	return -1
+    }
+
+    if {[catch "system \"prelink -N -r ${prelink_lib1} ${binfile_lib1}\""] != 0
+	|| [catch "system \"prelink -N -r ${prelink_lib2} ${binfile_lib2}\""] != 0} {
+	# Maybe we don't have prelink.
+	untested "Could not prelink ${binfile_lib1} or ${binfile_lib2}."
+	return -1
+    }
+
+    # Start the program running and then wait for a bit, to be sure
+    # that it can be attached to.
+
+    set testpid [eval exec $binfile &]
+    sleep 2
+    if { [istarget "*-*-cygwin*"] } {
+	# testpid is the Cygwin PID, GDB uses the Windows PID, which might be
+	# different due to the way fork/exec works.
+	set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
+    }
+
+    remote_exec build "mv -f ${binfile_lib1} ${binfile_lib1}-running"
+    remote_exec build "mv -f ${binfile_lib2} ${binfile_lib2}-running"
+
+    # Provide another exported function name to cause different sizes of sections.
+    lappend lib_flags additional_flags=-DSYMB
+
+    if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib1} $lib_flags] != ""
+	 || [gdb_compile_shlib ${srcfile_lib} ${binfile_lib2} $lib_flags] != ""} {
+	untested "Could not recompile ${binfile_lib1} or ${binfile_lib2}."
+	remote_exec build "kill -9 ${testpid}"
+	return -1
+    }
+
+    clean_restart ${binfile_base}
+    # This testcase currently does not support remote targets.
+    # gdb_load_shlibs ${binfile_lib1} ${binfile_lib2}
+
+    # Here we should get:
+    # warning: .dynamic section for ".../solib-overlap-lib1.so" is not at the expected address (wrong library or version mismatch?)
+    # warning: .dynamic section for ".../solib-overlap-lib2.so" is not at the expected address (wrong library or version mismatch?)
+
+    set test attach
+    gdb_test_multiple "attach $testpid" $test {
+	-re "Attaching to program.*`?$escapedbinfile'?, process $testpid.*$gdb_prompt $" {
+	    pass $test
+	}
+	-re "Attaching to program.*`?$escapedbinfile\.exe'?, process $testpid.*\[Switching to thread $testpid\..*\].*$gdb_prompt $" {
+	    # Response expected on Cygwin
+	    pass $test
+	}
+    }
+
+    # Detach the process.
+
+    gdb_test "detach" "Detaching from program: .*$escapedbinfile, process $testpid"
+
+    # Wait a bit for gdb to finish detaching
+
+    sleep 5
+
+    remote_exec build "kill -9 ${testpid}"
+
+    set pf_prefix $old_prefix
+}


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] [new testcase] Regression on qsort_cmp [Re: status of   Darwin support]
  2009-08-25  9:40                   ` [patch] [new testcase] Regression on qsort_cmp [Re: status of Darwin support] Jan Kratochvil
@ 2009-08-25 17:51                     ` Paul Pluzhnikov
  2009-08-25 19:15                       ` [patch] [new testcase] Regression on qsort_cmp Jan Kratochvil
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Pluzhnikov @ 2009-08-25 17:51 UTC (permalink / raw)
  To: Jan Kratochvil; +Cc: gdb-patches

On Tue, Aug 25, 2009 at 1:47 AM, Jan
Kratochvil<jan.kratochvil@redhat.com> wrote:

> Requesting approval for the testcase check-in.
> Tested on {x86_64,i686}-fedorarawhide-linux-gnu:
> FAIL: gdb.base/solib-overlap.exp: 0x40000000: attach (GDB internal error)
> FAIL: gdb.base/solib-overlap.exp: 0x50000000: attach (GDB internal error)

Thanks for the test. It nicely reproduces the problem, and is fixed by the
"remove assertions and deal with possible unexpected overlaps" patch I am
working on :)

I do have a general question on testing shlibs though:

In order to run this test on x86_64, I had to do this:

-    set lib_flags {debug}
+    set lib_flags {debug additional_flags=-fpic}

Otherwise, I get
  gdb.base/solib-overlap-lib.c.o: relocation R_X86_64_32 against `a
local symbol' can not be used when making a shared object; recompile
with -fPIC
and the test goes UNTESTED.

Shouldn't gdb_compile_shlib be adding '-fpic' automatically?
Or is the above correct fix for that test?

Thanks,
-- 
Paul Pluzhnikov


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] [new testcase] Regression on qsort_cmp
  2009-08-25 17:51                     ` Paul Pluzhnikov
@ 2009-08-25 19:15                       ` Jan Kratochvil
  2009-08-31 22:56                         ` Tom Tromey
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kratochvil @ 2009-08-25 19:15 UTC (permalink / raw)
  To: Paul Pluzhnikov; +Cc: gdb-patches

On Tue, 25 Aug 2009 19:20:30 +0200, Paul Pluzhnikov wrote:
> fixed by the "remove assertions and deal with possible unexpected overlaps"
> patch I am working on :)

Missed the thread, OK, great:
	http://sourceware.org/ml/gdb-patches/2009-08/msg00253.html


> In order to run this test on x86_64, I had to do this:
> 
> -    set lib_flags {debug}
> +    set lib_flags {debug additional_flags=-fpic}
> 
> Otherwise, I get
>   gdb.base/solib-overlap-lib.c.o: relocation R_X86_64_32 against `a
> local symbol' can not be used when making a shared object; recompile
> with -fPIC
> and the test goes UNTESTED.

There was a bug in the .exp file:
proc gdb_compile_shlib:
# Build a shared library from SOURCES.  You must use get_compiler_info
# first.

I did not use it.  Fixed.
(It worked for me in the trivial case of an empty function.)


Thanks,
Jan


2009-08-25  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.base/solib-overlap.exp, gdb.base/solib-overlap-lib.c,
	gdb.base/solib-overlap-main.c: New.

--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap-lib.c
@@ -0,0 +1,27 @@
+/* Copyright 2009 Free Software Foundation, Inc.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.  */
+
+void
+libsym (void)
+{
+}
+
+#ifdef SYMB
+void
+libsymb (void)
+{
+}
+#endif
--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap-main.c
@@ -0,0 +1,25 @@
+/* Copyright 2009 Free Software Foundation, Inc.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.  */
+
+#include <unistd.h>
+
+int
+main (void)
+{
+  sleep (60);
+
+  return 1;
+}
--- /dev/null
+++ b/gdb/testsuite/gdb.base/solib-overlap.exp
@@ -0,0 +1,139 @@
+# Copyright 2009 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Contributed by Jan Kratochvil <jan.kratochvil@redhat.com>.
+
+# Test GDB can cope with two libraries loaded with overlapping VMA ranges.
+# Prelink libraries first so they can be loaded and their native address.
+# In such case `struct linkmap'.l_addr will be zero.  Provide different
+# unprelinked library files on the disk which have zero-based VMAs.  These
+# different files should have their .dynamic section at a different offset in
+# page size so that we get for
+#   warning: .dynamic section for "..." is not at the expected address
+# the reason
+#   (wrong library or version mismatch?)
+# and not:
+#   difference appears to be caused by prelink, adjusting expectations
+# In such case both disk libraries will be loaded at VMAs starting at zero.
+
+if [skip_shlib_tests] {
+    return 0
+}
+
+# Are we on a target board?  It is required for attaching to a process.
+if [is_remote target] {
+    return 0
+}
+
+if [get_compiler_info binfile-unused] {
+    return -1;
+}
+
+# Library file.
+set libname "solib-overlap-lib"
+set srcfile_lib ${srcdir}/${subdir}/${libname}.c
+# Binary file.
+set testfile "solib-overlap-main"
+set srcfile ${srcdir}/${subdir}/${testfile}.c
+
+# Base addresses for `prelink -r' which should be compatible with both -m32 and
+# -m64 targets.  If it clashes with system prelinked libraries it would give
+# false PASS.
+# Prelink first lib1 at 0x40000000 and lib2 at 0x41000000.
+# During second pass try lib1 at 0x50000000 and lib2 at 0x51000000.
+foreach prelink_lib1 {0x40000000 0x50000000} {
+    set prelink_lib2 [format "0x%x" [expr $prelink_lib1 + 0x01000000]]
+
+    set old_prefix $pf_prefix
+    lappend pf_prefix "$prelink_lib1:"
+
+    # Library file.
+    set binfile_lib1 ${objdir}/${subdir}/${libname}1-${prelink_lib1}.so
+    set binfile_lib2 ${objdir}/${subdir}/${libname}2-${prelink_lib1}.so
+    set lib_flags {debug}
+    # Binary file.
+    set binfile_base ${testfile}-${prelink_lib1}
+    set binfile ${objdir}/${subdir}/${binfile_base}
+    set bin_flags [list debug shlib=${binfile_lib1} shlib=${binfile_lib2}]
+    set escapedbinfile  [string_to_regexp ${binfile}]
+
+    if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib1} $lib_flags] != ""
+	 || [gdb_compile_shlib ${srcfile_lib} ${binfile_lib2} $lib_flags] != ""
+	 || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
+	untested "Could not compile ${binfile_lib1}, ${binfile_lib2} or ${binfile}."
+	return -1
+    }
+
+    if {[catch "system \"prelink -N -r ${prelink_lib1} ${binfile_lib1}\""] != 0
+	|| [catch "system \"prelink -N -r ${prelink_lib2} ${binfile_lib2}\""] != 0} {
+	# Maybe we don't have prelink.
+	untested "Could not prelink ${binfile_lib1} or ${binfile_lib2}."
+	return -1
+    }
+
+    # Start the program running and then wait for a bit, to be sure
+    # that it can be attached to.
+
+    set testpid [eval exec $binfile &]
+    sleep 2
+    if { [istarget "*-*-cygwin*"] } {
+	# testpid is the Cygwin PID, GDB uses the Windows PID, which might be
+	# different due to the way fork/exec works.
+	set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
+    }
+
+    remote_exec build "mv -f ${binfile_lib1} ${binfile_lib1}-running"
+    remote_exec build "mv -f ${binfile_lib2} ${binfile_lib2}-running"
+
+    # Provide another exported function name to cause different sizes of sections.
+    lappend lib_flags additional_flags=-DSYMB
+
+    if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib1} $lib_flags] != ""
+	 || [gdb_compile_shlib ${srcfile_lib} ${binfile_lib2} $lib_flags] != ""} {
+	untested "Could not recompile ${binfile_lib1} or ${binfile_lib2}."
+	remote_exec build "kill -9 ${testpid}"
+	return -1
+    }
+
+    clean_restart ${binfile_base}
+    # This testcase currently does not support remote targets.
+    # gdb_load_shlibs ${binfile_lib1} ${binfile_lib2}
+
+    # Here we should get:
+    # warning: .dynamic section for ".../solib-overlap-lib1.so" is not at the expected address (wrong library or version mismatch?)
+    # warning: .dynamic section for ".../solib-overlap-lib2.so" is not at the expected address (wrong library or version mismatch?)
+
+    set test attach
+    gdb_test_multiple "attach $testpid" $test {
+	-re "Attaching to program.*`?$escapedbinfile'?, process $testpid.*$gdb_prompt $" {
+	    pass $test
+	}
+	-re "Attaching to program.*`?$escapedbinfile\.exe'?, process $testpid.*\[Switching to thread $testpid\..*\].*$gdb_prompt $" {
+	    # Response expected on Cygwin
+	    pass $test
+	}
+    }
+
+    # Detach the process.
+
+    gdb_test "detach" "Detaching from program: .*$escapedbinfile, process $testpid"
+
+    # Wait a bit for gdb to finish detaching
+
+    sleep 5
+
+    remote_exec build "kill -9 ${testpid}"
+
+    set pf_prefix $old_prefix
+}


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] [new testcase] Regression on qsort_cmp
  2009-08-25 19:15                       ` [patch] [new testcase] Regression on qsort_cmp Jan Kratochvil
@ 2009-08-31 22:56                         ` Tom Tromey
  2009-09-01 12:08                           ` Jan Kratochvil
  0 siblings, 1 reply; 5+ messages in thread
From: Tom Tromey @ 2009-08-31 22:56 UTC (permalink / raw)
  To: Jan Kratochvil; +Cc: Paul Pluzhnikov, gdb-patches

>>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:

Jan> 2009-08-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
Jan> 	* gdb.base/solib-overlap.exp, gdb.base/solib-overlap-lib.c,
Jan> 	gdb.base/solib-overlap-main.c: New.

This is ok.  Thanks for writing a new test case for this.

Tom


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch] [new testcase] Regression on qsort_cmp
  2009-08-31 22:56                         ` Tom Tromey
@ 2009-09-01 12:08                           ` Jan Kratochvil
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Kratochvil @ 2009-09-01 12:08 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Paul Pluzhnikov, gdb-patches

On Tue, 01 Sep 2009 00:54:03 +0200, Tom Tromey wrote:
> >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> 
> Jan> 2009-08-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
> Jan> 	* gdb.base/solib-overlap.exp, gdb.base/solib-overlap-lib.c,
> Jan> 	gdb.base/solib-overlap-main.c: New.
> 
> This is ok.  Thanks for writing a new test case for this.

Checked-in:
	http://sourceware.org/ml/gdb-cvs/2009-09/msg00004.html

It is FAILing now as expected:
	FAIL: gdb.base/solib-overlap.exp: 0x40000000: attach (GDB internal error)
	FAIL: gdb.base/solib-overlap.exp: 0x50000000: attach (GDB internal error)


Thanks,
Jan


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-01 12:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <m3bpmvfro1.fsf@fleche.redhat.com>
     [not found] ` <200908041804.30240.thiago.bauermann@gmail.com>
     [not found]   ` <20090805044504.GJ4370@adacore.com>
     [not found]     ` <4A7ABAF0.7010004@Sun.COM>
     [not found]       ` <C11EE4DE-A0A0-4A9E-A86E-9153A7AC81C8@adacore.com>
     [not found]         ` <4A7FFAB3.7080903@Sun.COM>
     [not found]           ` <m33a7z8qq5.fsf@fleche.redhat.com>
     [not found]             ` <8ac60eac0908101320k6cc20e9age92656cba254a5d4@mail.gmail.com>
     [not found]               ` <4A812B8B.8040202@Sun.COM>
     [not found]                 ` <20090825084613.GA22242@host0.dyn.jankratochvil.net>
2009-08-25  9:40                   ` [patch] [new testcase] Regression on qsort_cmp [Re: status of Darwin support] Jan Kratochvil
2009-08-25 17:51                     ` Paul Pluzhnikov
2009-08-25 19:15                       ` [patch] [new testcase] Regression on qsort_cmp Jan Kratochvil
2009-08-31 22:56                         ` Tom Tromey
2009-09-01 12:08                           ` Jan Kratochvil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox