Differnet gcc specs

I’ve finally tracked down a build problem to a difference between the
gcc 2.95.3 and gcc 3.3.1 specs files, and I’m curious about the change.
The *lib section of the 2.95.3 file contains “%{!symbolic:-lc -dn
-Bstatic %{!shared: -lc} %{shared: -lcS}}”, whereas the equivalent line
in the 3.3.1 file is “%{!shared:%{!symbolic:-lc}}”. Thus, under 2.29.3
my build feeds the linker “-lc -dn -Bstatic -lc” while under 3.3.1 it’s
just “-lc”, and I get a bunch of undefined references to slogf and
friends.

Why the change? What’s the “proper” way to deal with it?


Murf

Thanks. This is a bug in the gcc-3.3.1 specs for x86. You should get the
right behavior if you use “qcc -V3.3.1,gcc_ntox86”, or you can manually edit
the specs file to fix the bug, and then tell gcc on the command line
(-specs=) to use that specs file so as to make sure it does not use
its builtin specs.

Regards,
Graeme Peterson
QNX Core Tools.

“John Murphy” <murf@perftech.com> wrote in message
news:412B7203.33CA9D72@perftech.com

I’ve finally tracked down a build problem to a difference between the
gcc 2.95.3 and gcc 3.3.1 specs files, and I’m curious about the change.
The *lib section of the 2.95.3 file contains “%{!symbolic:-lc -dn
-Bstatic %{!shared: -lc} %{shared: -lcS}}”, whereas the equivalent line
in the 3.3.1 file is “%{!shared:%{!symbolic:-lc}}”. Thus, under 2.29.3
my build feeds the linker “-lc -dn -Bstatic -lc” while under 3.3.1 it’s
just “-lc”, and I get a bunch of undefined references to slogf and
friends.

Why the change? What’s the “proper” way to deal with it?


Murf

OK, thanks! Is there any reason that I shouldn’t just edit the default file
(/usr/qnx630/host/qnx6/x86/usr/lib/gcc-lib/i386-pc-nto-qnx6.3.0/3.3.1/specs)?

Murf

Graeme Peterson wrote:

Thanks. This is a bug in the gcc-3.3.1 specs for x86. You should get the
right behavior if you use “qcc -V3.3.1,gcc_ntox86”, or you can manually edit
the specs file to fix the bug, and then tell gcc on the command line
(-specs=) to use that specs file so as to make sure it does not use
its builtin specs.

Regards,
Graeme Peterson
QNX Core Tools.

“John Murphy” <> murf@perftech.com> > wrote in message
news:> 412B7203.33CA9D72@perftech.com> …
I’ve finally tracked down a build problem to a difference between the
gcc 2.95.3 and gcc 3.3.1 specs files, and I’m curious about the change.
The *lib section of the 2.95.3 file contains “%{!symbolic:-lc -dn
-Bstatic %{!shared: -lc} %{shared: -lcS}}”, whereas the equivalent line
in the 3.3.1 file is “%{!shared:%{!symbolic:-lc}}”. Thus, under 2.29.3
my build feeds the linker “-lc -dn -Bstatic -lc” while under 3.3.1 it’s
just “-lc”, and I get a bunch of undefined references to slogf and
friends.

Why the change? What’s the “proper” way to deal with it?


Murf

No, that would be fine.

GP

“John Murphy” <murf@perftech.com> wrote in message
news:412E4C35.DF16C753@perftech.com

OK, thanks! Is there any reason that I shouldn’t just edit the default
file

(/usr/qnx630/host/qnx6/x86/usr/lib/gcc-lib/i386-pc-nto-qnx6.3.0/3.3.1/specs)

?

Murf

Graeme Peterson wrote:

Thanks. This is a bug in the gcc-3.3.1 specs for x86. You should get
the
right behavior if you use “qcc -V3.3.1,gcc_ntox86”, or you can manually
edit
the specs file to fix the bug, and then tell gcc on the command line
(-specs=) to use that specs file so as to make sure it does not
use
its builtin specs.

Regards,
Graeme Peterson
QNX Core Tools.

“John Murphy” <> murf@perftech.com> > wrote in message
news:> 412B7203.33CA9D72@perftech.com> …
I’ve finally tracked down a build problem to a difference between the
gcc 2.95.3 and gcc 3.3.1 specs files, and I’m curious about the
change.
The *lib section of the 2.95.3 file contains “%{!symbolic:-lc -dn
-Bstatic %{!shared: -lc} %{shared: -lcS}}”, whereas the equivalent
line
in the 3.3.1 file is “%{!shared:%{!symbolic:-lc}}”. Thus, under
2.29.3
my build feeds the linker “-lc -dn -Bstatic -lc” while under 3.3.1
it’s
just “-lc”, and I get a bunch of undefined references to slogf and
friends.

Why the change? What’s the “proper” way to deal with it?


Murf