[PATCH] D49926: Update split stack support to handle more generic prologues.Improve error handling.Add test file for better code-coverage. Update tests to be morecomplete.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 31 01:07:19 PDT 2018


grimar added inline comments.


================
Comment at: ELF/Arch/X86_64.cpp:487
   // with "stc, nopl 0x0(%rax,%rax,1)"
   if (Loc + 8 < End && memcmp(Loc, "\x64\x48\x3b\x24\x25", 4) == 0) {
     memcpy(Loc, "\xf9\x0f\x1f\x84\x00\x00\x00\x00", 8);
----------------
It seems now you can do check early:

```
  if (Loc + 8 >= End)
    return;

  // Replace "cmp %fs:0x70,%rsp" and subsequent branch
  // with "stc, nopl 0x0(%rax,%rax,1)"
  ...
```


================
Comment at: test/ELF/x86-64-split-stack-prologue-adjust-fail.s:9
 # An unknown prologue gives a match failure
-# CHECK: unable to adjust the enclosing function's
+# CHECK: couldn't adjust it's prologue
 
----------------
Could you check the whole error message here? (including filenames and symbol names you are printing).


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D49926





More information about the llvm-commits mailing list