[lld] r193300 - [PassManager] add ReaderWriter{Native, YAML} to the Driver.

Shankar Easwaran shankare at codeaurora.org
Thu Oct 24 09:04:50 PDT 2013


Hi Nick,

So I found the problem on Darwin when it tries to add a StubHelperAtom :-

   X86_64StubHelperAtom(const File &file, const Atom &helperCommon)
   : SimpleDefinedAtom(file) {
     this->addReference(KindHandler_x86_64::lazyImmediate, 1, nullptr, 0);
     this->addReference(KindHandler_x86_64::ripRel32, 6, &helperCommon, 0);
   }

A reference is being added to point to a nullptr. This has to be fixed 
to point to the right atom.

Thanks

Shankar Easwaran

On 10/24/2013 10:31 AM, Shankar Easwaran wrote:
> On 10/24/2013 12:23 AM, Rui Ueyama wrote:
>> I did not expect you were going to submit your change with disabling so
>> many tests. It disabled even pretty basic tests for COFF. This is really
>> bad. Please don't do that.
> The problem was not in the patch as what I see. The problem is because 
> the relocation types have not been added by pecoff.
>
> ErrorOr<Reference::Kind>
> PECOFFLinkingContext::relocKindFromString(StringRef str) const {
>   return make_error_code(YamlReaderError::illegal_value);
> }
>
> ErrorOr<std::string>
> PECOFFLinkingContext::stringFromRelocKind(Reference::Kind kind) const {
>   return make_error_code(YamlReaderError::illegal_value);
> }
>
> These two are empty, this has to be fixed. This was the reason behind 
> the failures for PECOFF. There are some more inherent assumptions that 
> are being used which the new RoundTrip{YAML, Native} changes uncovered.
>
> *I am going to fix the ELF cases*, but I am going to leave it to the 
> flavor owners for changes to their respective flavors as I dont have 
> much knowledge on what kind of factors to be considered ( as these 
> might be some assumptions that could break).
>
> Thanks
>
> Shankar Easwaran
>


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation




More information about the llvm-commits mailing list