Am Samstag April 29 2006 15:37 schrieb Klaus Schmidinger:
Prakash Punnoor wrote:
Am Samstag April 29 2006 13:57 schrieb Klaus Schmidinger:
Prakash Punnoor wrote:
Am Samstag April 29 2006 12:38 schrieb Prakash Punnoor:
attached patch fixes that vdr (the executable and the static lib libpsi) get compiled with fPIC. Only shared libs need PIC, thus add this flag only when building plug-ins. Furthermore I added -g and -Wall to CFLAGS, as well, because of reasons of symmetry.
Did I miss this posting?
Don't know. Should be posted to the list.
Did anybody else receive that posting? If so, can you please forward a copy to me?
You don't need it. There wasn't anything more written than in the second updated post. ;-)
Well, I don't think compiling too much code as PIC will cause problems (apart from (minor) possible performance lost), nevertheless it is unneeded.
Is that "compile time" or "runtime" performance?
Runtime - you lose one register. In fact it would perhaps be nice to offer "optimizing" flags, as well (perhaps in the template, comented out or alike), which don't put in debug symbols (no -g) and also pass -fomit-frame-pointer (making one more register available, at least on x86).
Apparently PIC is only available on special processors, especially *not* Intel, so I can't test this myself.
??? PIC = position independent code. You already *are* compiling everything PIC - which is not needed. Only for shared libs it is [well x86 can live with non-PIC, but x86_64 cannot for example], as I pointed out. You could also check the gcc manual on fPIC.
So my patch shouldn't break anything *additional*. But your Makefile as such is not very portable, as the gcc man states PIC is not everywhere available. For more portability one needs to check whether -fPIC is supported on the platform/arch and then activate where needed. Therefore eg. things like libtool exists...
But of course you can postpone the patch, as it is not critical.