[Development] Q_GADGET = relocation on staticMetaObject; Q_OBJECT = no relocation; known?

Marc Mutz marc.mutz at kdab.com
Tue Oct 1 01:09:07 CEST 2013


Hi,

I'm seeing a .data.rel.ro.local for staticMetaObject in objdump -TtRr 
for (apparently) each Q_GADGET use (say, QEvent, QSizePolicy), but not 
for any Q_OBJECT use (say QWidget, but funnily enough for QObject).

I don't see any difference between the staticMetaObject's declared in 
and generated from Q_GADGET as opposed to ones in/from Q_OBJECT with the 
notable exception of a non-nullptr parent metaobject pointer. I don't 
see, though, how a nullptr could cause a relocation whereas a 
non-nullptr removes it.

Is that a known issue? Does someone have an explanation?

Thanks,
Marc



More information about the Development mailing list