Bläddra i källkod

* use exit_group syscall to also stop all threads

git-svn-id: trunk@1259 -
peter 20 år sedan
förälder
incheckning
da9ea7ff88
3 ändrade filer med 3 tillägg och 5 borttagningar
  1. 1 2
      rtl/linux/i386/gprt0.as
  2. 1 2
      rtl/linux/i386/prt0.as
  3. 1 1
      rtl/linux/x86_64/prt0.as

+ 1 - 2
rtl/linux/i386/gprt0.as

@@ -57,8 +57,7 @@ _haltproc2:             # GAS <= 2.15 bug: generates larger jump if a label is e
         pushl   %ebx
         call    exit                    /* call libc exit, this will */
                                         /* write the gmon.out */
-        xorl    %eax,%eax
-        incl    %eax                    /* eax=1, exit call */
+        movl    $252,%eax                /* exit_group */
         popl    %ebx
         int     $0x80
         jmp     _haltproc2

+ 1 - 2
rtl/linux/i386/prt0.as

@@ -70,8 +70,7 @@ _start:
         .type   _haltproc,@function
 _haltproc:
 _haltproc2:             # GAS <= 2.15 bug: generates larger jump if a label is exported
-        xorl    %eax,%eax
-        incl    %eax                    /* eax=1, exit call */
+	movl    $252,%eax                /* exit_group */
         movzwl  operatingsystem_result,%ebx
         int     $0x80
         jmp     _haltproc2

+ 1 - 1
rtl/linux/x86_64/prt0.as

@@ -55,7 +55,7 @@ _start:
         .globl  _haltproc
         .type   _haltproc,@function
 _haltproc:
-        movl    $60,%eax                 /* exit call */
+        movl    $231,%eax                 /* exit_group call */
         movzwl    operatingsystem_result,%edi
         syscall
         jmp     _haltproc