[gold] PATCH: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND
H.J. Lu
hjl.tools@gmail.com
Mon Nov 18 17:25:00 GMT 2013
More information about the Binutils mailing list
Mon Nov 18 17:25:00 GMT 2013
- Previous message (by thread): [gold] PATCH: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND
- Next message (by thread): [gold] PATCH: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Nov 18, 2013 at 9:15 AM, Ian Lance Taylor <iant@google.com> wrote: > On Sun, Nov 17, 2013 at 10:35 AM, H.J. Lu <hongjiu.lu@intel.com> wrote: >> >> Add R_X86_64_PC32_BND/R_X86_64_PLT32_BND suppor to gold >> >> elfcpp/ >> >> * x86_64.h (R_X86_64_PC32_BND): New. >> (R_X86_64_PLT32_BND): Likewise. >> >> gold/ >> >> 2013-11-17 H.J. Lu <hongjiu.lu@intel.com> >> >> * x86_64.cc (Target_x86_64<size>::Scan::get_reference_flags): >> Handle R_X86_64_PC32_BND and R_X86_64_PLT32_BND just like >> R_X86_64_PC32 and R_X86_64_PLT32, respectively. >> (Target_x86_64<size>::Scan::local): Likewise. >> (Target_x86_64<size>::Scan::global): Likewise. >> (Target_x86_64<size>::Relocate::relocate): Likewise. >> (Target_x86_64<size>::Relocatable_size_for_reloc::get_size_for_reloc): >> Likewise. >> (Target_x86_64<size>::Scan::check_non_pic(): Handle >> R_X86_64_PC32_BND. >> >> * testsuite/Makefile.am (check_PROGRAMS): Add >> exception_x86_64_bnd_test. >> (exception_x86_64_bnd_test_SOURCES): New macro. >> (exception_x86_64_bnd_test_DEPENDENCIES): Likewise. >> (exception_x86_64_bnd_test_LDFLAGS): Likewise. >> (exception_x86_64_bnd_test_LDADD): Likewise. >> (exception_x86_64_bnd_1.o): New rule. >> (exception_x86_64_bnd_2.o): Likewise. >> * testsuite/Makefile.in: Regenerated. > > >> "overflow at runtime; recompile with -fPIC"), >> (r_type == elfcpp::R_X86_64_32 >> ? "R_X86_64_32" >> - : "R_X86_64_PC32"), >> + : (r_type == elfcpp::R_X86_64_PC32 >> + ? "R_X86_64_PC32" >> + : "R_X86_64_PC32_BND")), > > I would rather you did a small switch statement setting a local > variable rather than nesting ?: expressions. Like this? { const char *r_name; switch (r_type) { case elfcpp::R_X86_64_32: r_name = "R_X86_64_32"; break; case elfcpp::R_X86_64_PC32: r_name = "R_X86_64_PC32"; break; case elfcpp::R_X86_64_PC32_BND: r_name = "R_X86_64_PC32_BND"; break; default: gold_unreachable(); break; } object->error(_("requires dynamic %s reloc against '%s' " "which may overflow at runtime; recompile " "with -fPIC"), r_name, gsym->name()); } Thanks. -- H.J.
- Previous message (by thread): [gold] PATCH: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND
- Next message (by thread): [gold] PATCH: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list