Thanks for looking into this.
I'm using gcc version 4.6.3
I'm building this in cygwin, and using our (Sage's) toolchain.
What version of gcc is it?
If I change the format to %ld I get:
Compile checking out/post.o src/post.c: In function ‘reloc_init’: src/post.c:350:5: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int’ [-Wformat]
Which is what I'd expect. Maybe there is something odd with your version of gcc?
$ gcc --version gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2)
and I get similar behavior with gcc v3.4.
-Kevin