[Mono-dev] Not building on s390x

Neale Ferguson neale at sinenomine.net
Fri May 8 13:55:01 UTC 2015


Hi,
 I cloned from master and now my s390x build fails on the corlib build
(the second one after basic). It is crashing in get of CurrentThread. The
sequence of code that is now being produced is odd:

1  tls_get R17 <-
        2  load_membase R18 <- [R17 + 0x60]
        3  load_membase R19 <- [R18 + 0x80]
        4  load_membase R21 <- [R19 + 0x3]

It is steps 3 & 4 that are problematic. Firstly, it gets a null pointer
when it loads R19. Even if it got a correct value the next step is quite
strange. I am not sure how it is getting a displacement of 3.

The 3.10.1 sequence, for example, looks like this:

1  tls_get R17 <-
        2  load_membase R18 <- [R17 + 0x60]
        3  load_membase R19 <- [R18 + 0x0]
        4  load_membase R21 <- [R19 + 0x68]

What should I look at to work out why this new sequence is being produced?

Neale





More information about the Mono-devel-list mailing list