Преглед изворни кода

LibC: Fix jmp_buf layout on x86_64

This struct was too small on x86_64, but setjmp() would happily write
past the end of it.

This makes `test-js` run to completion on x86_64 :^)
Andreas Kling пре 4 година
родитељ
комит
33260ea99b
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      Userland/Libraries/LibC/setjmp.h

+ 6 - 0
Userland/Libraries/LibC/setjmp.h

@@ -15,7 +15,13 @@
 __BEGIN_DECLS
 
 struct __jmp_buf {
+#ifdef __i386__
     uint32_t regs[6];
+#elif __x86_64__
+    uint64_t regs[8];
+#else
+#    error
+#endif
     bool did_save_signal_mask;
     sigset_t saved_signal_mask;
 };