[gold patch] PR 17643: Add -z bndplt support (for Intel MPX)

Cary Coutant ccoutant@gmail.com
Fri Dec 23 04:14:00 GMT 2016


> I haven't added any tests yet, and I haven't yet adjusted the EH table
> descriptors for the new PLT entries. Do you have a spec or a template
> for what the EH descriptors should look like?

I've added some test cases, fixed a bug, and updated the EH table
descriptors for the BND PLT.

Here's what I committed.

-cary

Add -z bndplt support (for Intel MPX).

2016-12-22  Cary Coutant  <ccoutant@gmail.com>

gold/
        PR gold/17643
        * options.h (-z bndplt): New option.
        * x86_64.cc (Output_data_plt_x86_64::regular_count): New method.
        (Output_data_plt_x86_64::address_for_global): Move implementation into
        virtual method.
        (Output_data_plt_x86_64::address_for_local): Likewise.
        (Output_data_plt_x86_64::got): New method.
        (Output_data_plt_x86_64::got_plt): New method.
        (Output_data_plt_x86_64::got_irelative): New method.
        (Output_data_plt_x86_64::do_address_for_global): New virtual method.
        (Output_data_plt_x86_64::do_address_for_local): New virtual method.
        (class Output_data_plt_x86_64_bnd): New class.
        (Target_x86_64::do_make_data_plt): Move out of line and specialize
        for each size (both overloads).
        (Output_data_plt_x86_64::set_final_data_size): Cosmetic changes.
        * testsuite/Makefile.am (bnd_plt_1): New test case.
        (bnd_ifunc_1): New test case.
        (bnd_ifunc_2): New test case.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/bnd_ifunc_1.s: New source file.
        * testsuite/bnd_ifunc_1.sh: New shell script.
        * testsuite/bnd_ifunc_2.s: New source file.
        * testsuite/bnd_ifunc_2.sh: New shell script.
        * testsuite/bnd_plt_1.s: New source file.
        * testsuite/bnd_plt_1.sh: New shell script.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bndplt-2.patch
Type: application/octet-stream
Size: 32493 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20161223/2107dc81/attachment.obj>


More information about the Binutils mailing list