~/talk

Not So Fast: Understanding and Mitigating Negative Impacts of Compiler Optimizations on Code Reuse G

Talkat OOPSLA 2021 · 2021-10-17..10-22· [security, compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Study compares 1,187 variants of 20 benchmarks compiled with GCC and Clang using the gadget analyzer GSA, and finds compiler optimizations massively change gadget sets: two thirds of gadgets in O1–O3 are new versus O0, single-optimization introduction averages ~25% (82% for some Clang transforms), expressivity rises ~37% and quality ~74%. Root causes include GPI duplication, code-layout churn and tail-call elimination. Mitigation via post-production binary recompilation (binary-level passes that merge GPIs, fix layout, reorder) removes many gadgets with negligible (~0.2%) average slowdown; disabling tail-call elimination costs ~14% slowdown.

AI-written summary · about

  1. 0:00Introduction
  2. 0:42Motivation
  3. 1:18Motivation Questions
  4. 1:30Terminology
  5. 3:08Gadget Set Analyzer
  6. 4:00Motivations
  7. 5:06Results
  8. 5:47Lowgrade increases
  9. 6:24Motivation question
  10. 7:09Gadget Set metrics
  11. 7:27Differential binary analysis
  12. 7:48Duplication of gadgetproducing instructions
  13. 8:39Mitigation strategy
  14. 9:26Transformation induced gadget introduction
  15. 10:36Machine dependent and endemic
  16. 11:06Special purpose gadgets
  17. 12:10Gadget introduction
  18. 13:21Performance cost
  19. 13:49TCE mitigation
  20. 14:21Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.