error Unsupported relocation against PIR or r4 is caused by incorrect syntax. If you use inline assembler and GPR registers, you have to use following syntax:
asm("e_li %r0, 0");
There must be character % near the SPR register name.
Hope it helps.
I do not know, which microcontroller you use, but PIR register is special purpose register. You have to look to the core reference manual for appropriate core and find the number of the PIR register which you use instead of PIR.