Hi there, I have just tried gcc 4.4 svn trunk on a MIPS N32 system. But I found -mplt is practically not usable, because -mno-shared is not used when generating non-PIC code.
I dug into the code and found the cause is in gcc/config/mips/linux64.h. Unlike linux.h under the same directory, DRIVER_SELF_SPECS in linux64.h has no LINUX_DRIVER_SELF_SPECS. Is it left out intentionally? However it seems to me that -mplt works on N32 system. So what about the patch attached? ok to apply? Zhang, Le
--- gcc/config/mips/linux64.h.orig 2008-12-01 13:55:43.000000000 +0000 +++ gcc/config/mips/linux64.h 2008-12-01 13:54:48.000000000 +0000 @@ -23,6 +23,7 @@ #undef DRIVER_SELF_SPECS #define DRIVER_SELF_SPECS \ BASE_DRIVER_SELF_SPECS \ +LINUX_DRIVER_SELF_SPECS \ " %{!EB:%{!EL:%(endian_spec)}}" \ " %{!mabi=*: -mabi=n32}"