I think that's incorrect. It should to: .section .foo .L1: .L2 = .L1 .section .bar .long .L3-.L2 .L3: Because .L3 and .L2 are in different sections. - Justin On Thu, Jun 26, 2014 at 2:46 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:> This reduces to > > .section .foo > .L1: > .L2 = .L1 > .section .bar > .long .L1-.L2 > > > Which is fairly silly :-( > > I think this is the some root issue as pr20119. I will add the > testcase to that PR. > > Cheers, > Rafael
Rafael Espíndola
2014-Jul-01 14:48 UTC
[LLVMdev] cross-section differences in MC generation
I think this is fixed with r212101. On 26 June 2014 17:54, Justin Hibbits <jrh29 at alumni.cwru.edu> wrote:> I think that's incorrect. It should to: > > .section .foo > .L1: > .L2 = .L1 > .section .bar > .long .L3-.L2 > .L3: > > Because .L3 and .L2 are in different sections. > > - Justin > > On Thu, Jun 26, 2014 at 2:46 PM, Rafael Espíndola > <rafael.espindola at gmail.com> wrote: >> This reduces to >> >> .section .foo >> .L1: >> .L2 = .L1 >> .section .bar >> .long .L1-.L2 >> >> >> Which is fairly silly :-( >> >> I think this is the some root issue as pr20119. I will add the >> testcase to that PR. >> >> Cheers, >> Rafael
No error now, thanks! It generates the relocation, but puts a 0 in the pre-word, which GNU as doesn't (puts the difference 0x8000 - delta of preword and PIC Base label). I think that's a red herring, though, because 'readelf -a' shows in both cases the relocations having a starting value of 0, but I could be wrong (don't know quite enough). I'll add some tests, and send a patch for review. - Justin On Tue, 1 Jul 2014 10:48:50 -0400 Rafael Espíndola <rafael.espindola at gmail.com> wrote:> I think this is fixed with r212101. > > On 26 June 2014 17:54, Justin Hibbits <jrh29 at alumni.cwru.edu> wrote: > > I think that's incorrect. It should to: > > > > .section .foo > > .L1: > > .L2 = .L1 > > .section .bar > > .long .L3-.L2 > > .L3: > > > > Because .L3 and .L2 are in different sections. > > > > - Justin > > > > On Thu, Jun 26, 2014 at 2:46 PM, Rafael Espíndola > > <rafael.espindola at gmail.com> wrote: > >> This reduces to > >> > >> .section .foo > >> .L1: > >> .L2 = .L1 > >> .section .bar > >> .long .L1-.L2 > >> > >> > >> Which is fairly silly :-( > >> > >> I think this is the some root issue as pr20119. I will add the > >> testcase to that PR. > >> > >> Cheers, > >> Rafael