Author: fireball
Date: Fri Jun 1 23:21:45 2007
New Revision: 26962
URL:
http://svn.reactos.org/svn/reactos?rev=26962&view=rev
Log:
- Put precompiled binaries of the ofwstub needed to load freeldr.
- Make changes to makefile.auto, so that "make freeldr" build olpcros.elf in the
root dir. In order to use this feature, you must be building on a Windows host, and must
copy ld.exe from cygwin to rosbe\bin\cgld.exe, and also copy a cygwin.dll into the same
folder. This hacky solution will be thrown away once vlink is imported.
Added:
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/freeldr_ofw.o (with
props)
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/libobp.a (with props)
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/ofwboot.o (with props)
branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/start.o (with props)
Modified:
branches/olpc/tools/rbuild/backend/mingw/modulehandler.cpp
Added: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/freeldr_ofw.o
URL:
http://svn.reactos.org/svn/reactos/branches/olpc/boot/freeldr/freeldr/arch/…
==============================================================================
Binary file - no diff available.
Propchange: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/freeldr_ofw.o
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/libobp.a
URL:
http://svn.reactos.org/svn/reactos/branches/olpc/boot/freeldr/freeldr/arch/…
==============================================================================
Binary file - no diff available.
Propchange: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/libobp.a
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/ofwboot.o
URL:
http://svn.reactos.org/svn/reactos/branches/olpc/boot/freeldr/freeldr/arch/…
==============================================================================
Binary file - no diff available.
Propchange: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/ofwboot.o
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/start.o
URL:
http://svn.reactos.org/svn/reactos/branches/olpc/boot/freeldr/freeldr/arch/…
==============================================================================
Binary file - no diff available.
Propchange: branches/olpc/boot/freeldr/freeldr/arch/i386/ofwstub/binary/start.o
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: branches/olpc/tools/rbuild/backend/mingw/modulehandler.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/olpc/tools/rbuild/backend/mingw…
==============================================================================
--- branches/olpc/tools/rbuild/backend/mingw/modulehandler.cpp (original)
+++ branches/olpc/tools/rbuild/backend/mingw/modulehandler.cpp Fri Jun 1 23:21:45 2007
@@ -2955,9 +2955,29 @@
junk_tmp.c_str (),
objectsMacro.c_str (),
linkDepsMacro.c_str () );
+
fprintf ( fMakefile,
"\t${objcopy} -O binary %s $@\n",
junk_tmp.c_str () );
+
+ fprintf ( fMakefile,
+ "\t${cp} $@ %s\n",
+ targetName.c_str () );
+
+ fprintf ( fMakefile,
+ "\t${objcopy} -I binary -B i386 -O elf32-i386 %s
freeldr-payload.elf\n",
+ targetName.c_str ());
+
+ fprintf ( fMakefile,
+ "\t${rm} %s\n",
+ targetName.c_str () );
+
+ /* FIXME: Hack, make use of vlink instead of an ugly cygwin-dependable ld! */
+ fprintf ( fMakefile,
+ "\tcgld.exe -nostdlib -Bstatic -N -Ttext 0x100000 -o olpcros.elf
boot\\freeldr\\freeldr\\arch\\i386\\ofwstub\\binary\\start.o
boot\\freeldr\\freeldr\\arch\\i386\\ofwstub\\binary\\ofwboot.o
boot\\freeldr\\freeldr\\arch\\i386\\ofwstub\\binary\\freeldr_ofw.o
boot\\freeldr\\freeldr\\arch\\i386\\ofwstub\\binary\\libobp.a
freeldr-payload.elf\n");
+
+
+
GenerateBuildMapCode ( junk_tmp.c_str() );
fprintf ( fMakefile,
"\t-@${rm} %s 2>$(NUL)\n",