On Tue, 20 Sep 2016, Ralf Baechle wrote: > > I take it it's a quest for a clean compilation with no warnings reported, > > as the message is otherwise harmless and correct code is produced here. > > > > Some of the systems affected are not necessarily fast (e.g. clocked at > > 12MHz), so I wonder if we shouldn't just bite the bullet and expand the > > %hi/%lo pair here. Even with R4k DECstations we only support `-msym32' > > compilation only, due to R4k errata, so it's not like the higher parts > > will ever be needed for address calculation. > > > > Alternatively we could have a `.set warn'/`.set nowarn' setting in GAS, > > previously discussed I believe, although it would take a bit to propagate. > > Yeah, I'm already looking into the other direction whenever this warning > pops up - and it does so often. I've even pondered submitting something > like -Werror for gas ;-) Well, the GCC driver already handles it and catches warnings from GAS if requested, doesn't it? > It's not very elegant but you could just open code everything, see below > patch. Compiles but not runtime tested due to lack of hardware. That's what I noted above and as also noted you only need the %hi/%lo variant due to the `-msym32' restriction for 64-bit DECstation kernels; the kernel is always linked to KSEG0. Alternatively for maximum safety perhaps we could define PTR_LA_EXPLICIT or suchlike with a suitable open-coded sequence for the pointer width chosen; note however that `-msym32' doesn't set any CPP's internal predefined macro, so we'd have to define our own to control this. > Maciej, can you test this? I'll see what I can do; I've been travelling a lot lately. Maciej