Hi David,
Thanks for your test.
To me it rather seems like a GCC bug in -Zomf mode:
It creates objects with .o extension, while it "should"
use .obj. Or, it's possible that GCC decided to use .o
extension even for OMF objects, and it's only us trying
to force .obj.
So, we can either fall back to .o for gccomf mode also,
or we can start to hack GCC to force .obj extension, but
this has some drawbacks: f.e. in hbmk2 gcc will have to
be invoked for each .c source file separately, which is
much slower than calling it for all .c source files at once.
Plus it also widens the gap between gcc and gccomf mode.
I'd vote for first option, but for this we should know
for sure what is the official extension for objects in
GCC OMF mode.
Brgds,
Viktor
On 2009 Nov 4, at 06:55, David Arturo Macias Corona wrote:
Problem found with
* $Id: ChangeLog 12654 2009-10-06 09:16:56Z druzus $
and confirmed now with
* $Id: ChangeLog 12818 2009-11-03 12:37:01Z druzus $
Using hbmk2.exe with gccomf does not apply properly object file
extension
Testing with:
-----------------
FUNCTION MAIN
QOUT( "Hello World" )
RETURN NIL
-----------------
hbmk2.exe test
report:
gcc.exe: test.obj: No such file or directory
gcc.exe: hbmk_rbs3h0.obj: No such file or directory
Dir list show:
3/11/09 11:43p 674 124 a--- test.o
3/11/09 11:43p 507 124 a--- hbmk_rbs3h0.o
where both files must have .obj extension in gccomf
Below are output of
hbmk2.exe test -trace
Based on output, gcc.exe -c ... phase are missing object file
extension application so default .o are used in place of .obj
David Macias
hbmk2: Processing environment options: -platform=os2 -compiler=gccomf
hbmk2: Harbour compiler command (embedded):
(harbour.exe) -n2 test.prg -i..\..\..\include
Harbour 2.0.0beta3 (Rev. 12818)
Copyright (c) 1999-2009, http://www.harbour-project.org/
Compiling 'test.prg'...
Lines 4, Functions/Procedures 1
Generating C source output to 'test.c'... Done.
hbmk2: C compiler command:
gcc.exe -c -O3 -DTCPV40HDRS -DHB_FM_STATISTICS_OFF -Wall -W -Zomf -
I..\..\..\include test.c E:\var\temp\hbmk_z1ihq1.c
hbmk2: Linker command:
gcc.exe test.obj hbmk_z1ihq1.obj -Le:\usr\lib\tcpipv4 -Zomf -
lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -
lgtpca -lgtstd -lgtos2 -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -
lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbrtl -lhbvm -
lhbmacro -lhbcplr -lhbpp -lhbcommon -lsocket -o test.exe -L..\..\..
\lib\os2\gccomf
gcc.exe: test.obj: No such file or directory
gcc.exe: hbmk_z1ihq1.obj: No such file or directory
hbmk2: Error: Running linker. 1
gcc.exe test.obj hbmk_z1ihq1.obj -Le:\usr\lib\tcpipv4 -Zomf -
lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -
lgtpca -lgtstd -lgtos2 -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -
lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbrtl -lhbvm -
lhbmacro -lhbcplr -lhbpp -lhbcommon -lsocket -o test.exe -L..\..\..
\lib\os2\gccomf
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour