This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

patch1.diff updated + test results Was: Re: GCC's -fsplit-stack disturbing Mach's vm_allocate


On Tue, 2014-05-06 at 15:26 +0200, Samuel Thibault wrote:
> Svante Signell, le Tue 06 May 2014 15:25:38 +0200, a écrit :
> > On Tue, 2014-05-06 at 15:07 +0200, Samuel Thibault wrote:
> > > Svante Signell, le Tue 06 May 2014 15:05:20 +0200, a écrit :
> > > > On Tue, 2014-05-06 at 14:51 +0200, Samuel Thibault wrote:
> > > > > Just to explicitly ask for it:
> > > > > 
> > > > > Svante Signell, le Tue 06 May 2014 10:06:49 +0200, a écrit :
> > > > > > For some (yet) unknown reason all libgo tests fails with a segfault when
> > > > > > run in the build tree: make, sh or something else, the test commands are
> > > > > > rather hard to track.
> > > > > 
> > > > > Doesn't that dump a core?  Do you have /servers/crash properly pointing
> > > > > to /servers/crash-dump-core and ulimit -u set to unlimited?

More good news:
- Installing the modified libpthread.so.0.3 made the segfault go away. I
could now run the check from the build tree :-)

- Adding
#define TARGET_THREAD_SSP_OFFSET 0x14
to patch1.diff and building gcc-4.9.0-2 the test results are summarised
as follows :-)
                === libgo Summary ===

# of expected passes            101
# of unexpected failures        21

I think some of the remaining failures are rather easy to fix.

Attached is an updated patch1.diff.
Remains to solve the problem with patch8.diff: Adding arch specific code
to: src/libgo/mksysinfo.sh
--- a/src/gcc/config/i386/gnu.h
+++ b/src/gcc/config/i386/gnu.h
@@ -37,11 +37,14 @@
 
 #ifdef TARGET_LIBC_PROVIDES_SSP
 
-/* Not supported yet.  */
-# undef TARGET_THREAD_SSP_OFFSET
-
-/* Not supported yet.  */
-# undef TARGET_CAN_SPLIT_STACK
-# undef TARGET_THREAD_SPLIT_STACK_OFFSET
+/* i386 glibc provides __stack_chk_guard in %gs:0x14.  */
+#define TARGET_THREAD_SSP_OFFSET        0x14
 
+/* We only build the -fsplit-stack support in libgcc if the
+   assembler has full support for the CFI directives.  */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
+#define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word.  */
+#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
 #endif

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]