[LLVMdev] How to set constant pool section?

Konstantin Vladimirov konstantin.vladimirov at gmail.com
Thu Mar 15 00:00:54 PDT 2012


Hi,

Thanks for pointing direction. As far, as I understand by reversing,
logic, that I want to overwrite is digged into:

lib/MC/MCSectionELF.cpp

MCSectionELF::PrintSwitchToSection

  if (ShouldOmitSectionDirective(SectionName, MAI)) {
    OS << '\t' << getSectionName() << '\n';
    return;
  }

// otherwise print ".section" directive and then section name

So I need to overwrite ShouldOmitSectionDirective behavior. But this
method of MCSectionELF is not virtual.
As a workaround, I stubbed it in core LLVM code
(MCSectionELF::ShouldOmitSectionDirective), and everything works, but
it is ugly. May be you can advise further?

---
With best regards, Konstantin

On Wed, Mar 14, 2012 at 9:29 PM, Anton Korobeynikov
<anton at korobeynikov.info> wrote:
> Hello
>
>> I really need in my backend value for this section, distinct from
>> default. Where can I set it?
> It was renamed to ReadOnlySection. You might want to check the logic
> inside CodeGen/TargetLoweringObjectFileImp.cpp (in particular -
> TargetLoweringObjectFile::SelectionSectionForGlobal) to see how it's
> used.
>
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list