[PATCH] D59780: Support Intel Control-flow Enforcement Technology

Xiang Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 31 20:35:47 PDT 2019


xiangzhangllvm added inline comments.


================
Comment at: lld/ELF/InputFiles.cpp:594
 
+// If a source file is compiled with x86 hardware-assisted call flow control
+// enabled, the generated object file contains feature flags indicating that
----------------
ruiu wrote:
> MaskRay wrote:
> > ruiu wrote:
> > > MaskRay wrote:
> > > > call flow control -> Control-Flow Enforcement ?
> > > This is a general name and not specific to the Intel's implementation.
> > My concern here is that llvm-objdump/GNU objdump and other tools/profilers would have to recognize two section names `.plt.sec` and `.splt`. Many tools use the section name to do special things, e.g.
> > @hjl.tools If the ABI can be changed to not deliberately differ from the implementation (or the other way round), it'd be great.
> > 
> > binutils/objdump.c:739 
> > 
> > ```
> > static bfd_boolean
> > is_significant_symbol_name (const char * name)
> > {
> >   return strncmp (name, ".plt", 4) == 0 || strcmp (name, ".got") == 0;
> > }
> > ```
> I'm not sure if I follow. Currently, in my patch, I use ".splt" and ".plt" as PLT section names, which I think as defined by the ABI. Are you saying that ".plt.sec" might be a correct name?
The SPEC not fix the plt's name, It full name is Second IBT-enabled PLT,
GCC name it as plt.sec. I name it splt for short at first.
It may be better to have the same name with GCC.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59780/new/

https://reviews.llvm.org/D59780





More information about the llvm-commits mailing list