[ros-diffs] [arty] 28803: Fix building of libcntpr on ppc. We now get a proper bootcd image.

arty at svn.reactos.org arty at svn.reactos.org
Mon Sep 3 08:29:14 CEST 2007


Author: arty
Date: Mon Sep  3 10:29:13 2007
New Revision: 28803

URL: http://svn.reactos.org/svn/reactos?rev=28803&view=rev
Log:
Fix building of libcntpr on ppc.
We now get a proper bootcd image.

Modified:
    branches/powerpc/reactos/lib/mmu/mmuobject.c
    branches/powerpc/reactos/lib/mmu/mmutest.c
    branches/powerpc/reactos/lib/mmu/ppcmmu.mak
    trunk/reactos/ReactOS-ppc.rbuild
    trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c
    trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c
    trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
    trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild
    trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild
    trunk/reactos/tools/ppc.lost+found/link-freeldr
    trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp

Modified: branches/powerpc/reactos/lib/mmu/mmuobject.c
URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/mmuobject.c?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- branches/powerpc/reactos/lib/mmu/mmuobject.c (original)
+++ branches/powerpc/reactos/lib/mmu/mmuobject.c Mon Sep  3 10:29:13 2007
@@ -1,6 +1,6 @@
 #include <stdarg.h>
-#include "mmu.h"
-#include "mmuutil.h"
+#include "ppcmmu/mmu.h"
+#include "ppcmmu/mmuutil.h"
 #include "mmuobject.h"
 #include "helper.h"
 

Modified: branches/powerpc/reactos/lib/mmu/mmutest.c
URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/mmutest.c?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- branches/powerpc/reactos/lib/mmu/mmutest.c (original)
+++ branches/powerpc/reactos/lib/mmu/mmutest.c Mon Sep  3 10:29:13 2007
@@ -1,5 +1,5 @@
-#include "mmu.h"
-#include "mmuutil.h"
+#include "ppcmmu/mmu.h"
+#include "ppcmmu/mmuutil.h"
 #include "mmuobject.h"
 
 int mmunitest()

Modified: branches/powerpc/reactos/lib/mmu/ppcmmu.mak
URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/ppcmmu.mak?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- branches/powerpc/reactos/lib/mmu/ppcmmu.mak (original)
+++ branches/powerpc/reactos/lib/mmu/ppcmmu.mak Mon Sep  3 10:29:13 2007
@@ -12,20 +12,20 @@
 	$(AR) cr $@ $O/mmuutil.o
 
 $O/mmuutil.o: $S/mmuutil.c
-	$(CC) -g -c $S/mmuutil.c
+	$(CC) -Iinclude/reactos/libs -g -c -o $@ $S/mmuutil.c
 
 $O/libppcmmu_code.a: $O/mmuobject.o $O/mmuutil.o $O/mmutest.o
-	$(CC) -g -nostartfiles -nostdlib -o $O/mmuobject -Ttext=0x10000 $(LDSCRIPT) -Wl,-u,mmumain -Wl,-u,data_miss_start -Wl,-u,data_miss_end $O/mmuobject.o $O/mmuutil.o $O/mmutest.o
-	$(OBJCOPY) -O binary $O/mmuobject $O/mmucode
-	$(OBJCOPY) -I binary -O elf32-powerpc -B powerpc:common $O/mmucode $O/mmucode.o
+	$(CC) -nostartfiles -nostdlib -o $O/mmuobject -Ttext=0x10000 $(LDSCRIPT) -Wl,-u,mmumain -Wl,-u,data_miss_start -Wl,-u,data_miss_end $O/mmuobject.o $O/mmuutil.o $O/mmutest.o
+	$(OBJCOPY) -O binary $O/mmuobject mmucode
+	$(OBJCOPY) -I binary -O elf32-powerpc -B powerpc:common mmucode $O/mmucode.o
 	mkdir -p `dirname $@`
 	$(AR) cr $@ $O/mmucode.o
 
 $O/mmuobject.o: $S/mmuobject.c $S/mmuobject.h
-	$(CC) -Iinclude/reactos -g -c $S/mmuobject.c
+	$(CC) -Iinclude/reactos -Iinclude/reactos/libs -g -c -o $@ $S/mmuobject.c
 
 $O/mmutest.o: $S/mmutest.c $S/mmuobject.h
-	$(CC) -g -c $S/mmutest.c
+	$(CC) -Iinclude/reactos/libs -g -c -o $@ $S/mmutest.c
 
-clean:
-	rm -f $O/*.o $O/*.a $O/mmucode $O/mmuobject
+ppcmmu_clean:
+	rm -f $O/*.o $O/*.a mmucode $O/mmuobject

Modified: trunk/reactos/ReactOS-ppc.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ReactOS-ppc.rbuild?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/ReactOS-ppc.rbuild (original)
+++ trunk/reactos/ReactOS-ppc.rbuild Mon Sep  3 10:29:13 2007
@@ -9,7 +9,7 @@
 
   <xi:include href="ReactOS-generic.rbuild" />
 
-  <property name="OFWLDR_LINKFORMAT" value="-L$(INTERMEDIATE)/lib/ppcmmu -lppcmmu_code"/>
+  <property name="OFWLDR_LINKFORMAT" value="-L$(INTERMEDIATE)/lib/ppcmmu -lppcmmu_code -lppcmmu -nostdlib -nostartfiles"/>
 
   <define name="_M_PPC" />
   <define name="_PPC_" />

Modified: trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c Mon Sep  3 10:29:13 2007
@@ -61,7 +61,6 @@
 
 #define BAT_GRANULARITY             (64 * 1024)
 #define KernelMemorySize            (8 * 1024 * 1024)
-#define KernelEntryPoint            (KernelEntry - KERNEL_BASE_PHYS) + KernelBase
 #define XROUNDUP(x,n)               ((((ULONG)x) + ((n) - 1)) & (~((n) - 1)))
 
 /* Load Address of Next Module */
@@ -77,7 +76,7 @@
 BOOLEAN PaeModeEnabled;
 
 /* Kernel Entrypoint in Physical Memory */
-ULONG_PTR KernelEntry;
+ULONG_PTR KernelEntryPoint;
 
 /* Dummy to bring in memmove */
 PVOID memmove_dummy = memmove;
@@ -127,7 +126,7 @@
 FrLdrStartup(ULONG Magic)
 {
     KernelEntryFn KernelEntryAddress = 
-	(KernelEntryFn)(KernelEntry + KernelBase);
+	(KernelEntryFn)(KernelEntryPoint + KernelBase);
     ULONG_PTR i, j, page, count;
     PCHAR ModHeader;
     boot_infos_t *LocalBootInfo = &BootInfo;
@@ -459,7 +458,7 @@
     }
 
     ImageSize = SWAPD(NtHeader->OptionalHeader.SizeOfImage);
-    KernelEntry = SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint);
+    KernelEntryPoint = SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint);
     printf("Total image size is %x\n", ImageSize);
     
     /* Handle relocation sections */
@@ -677,6 +676,24 @@
     return(ModuleData->ModStart);
 }
 
+PVOID
+NTAPI
+FrLdrMapImage(IN FILE *Image, IN PCHAR ShortName, IN ULONG ImageType)
+{
+    PVOID Result;
+
+    if (ImageType == 1)
+    {
+        if(FrLdrMapKernel(Image))
+            return (PVOID)KernelBase;
+        else
+            return NULL;
+    }
+    else
+        Result = (PVOID)FrLdrLoadModule(Image, ShortName, NULL);
+    return Result;
+}
+
 ULONG_PTR
 NTAPI
 FrLdrCreateModule(LPCSTR ModuleName)

Modified: trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c Mon Sep  3 10:29:13 2007
@@ -61,7 +61,7 @@
     *Depth = 16;
 }
 
-void PpcPrepVideoPrepareForReactOS()
+void PpcPrepVideoPrepareForReactOS(BOOLEAN setup)
 {
     pci_setup(&pci1_desc);
 }

Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild Mon Sep  3 10:29:13 2007
@@ -22,5 +22,6 @@
             <library>rossym</library>
             <library>cmlib</library>
             <library>rtl</library>
+            <library>libcntpr</library>
         </module>
 </if>

Modified: trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild Mon Sep  3 10:29:13 2007
@@ -57,8 +57,16 @@
 				<compilerflag>-fno-zero-initialized-in-bss</compilerflag>
 				<compilerflag>-Os</compilerflag>
 				<file>boot.s</file>
+                                <file>loader.c</file>
 				<file>mach.c</file>
 				<file>mboot.c</file>
+                                <file>ofw.c</file>
+				<file>ofw_util.s</file>
+				<file>ofw_calls.s</file>
+                                <file>prep.c</file>
+                                <file>prep_ide.c</file>
+                                <file>prep_pci.c</file>
+                                <file>prep_vga.c</file>
 			</module>
 		</if>
 	</directory>

Modified: trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild (original)
+++ trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild Mon Sep  3 10:29:13 2007
@@ -5,7 +5,9 @@
     <define name="_NTSYSTEM_" />
     <define name="_NTDLLBUILD_" />
     <define name="_SEH_NO_NATIVE_NLG" />
-    <define name="__MINGW_IMPORT">"extern __attribute__ ((dllexport))"</define>
+    <if property="ARCH" value="i386">
+        <define name="__MINGW_IMPORT">"extern __attribute__ ((dllexport))"</define>
+    </if>
     <include base="libcntpr">.</include>
 
     <directory name="except">

Modified: trunk/reactos/tools/ppc.lost+found/link-freeldr
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/ppc.lost%2Bfound/link-freeldr?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/tools/ppc.lost+found/link-freeldr (original)
+++ trunk/reactos/tools/ppc.lost+found/link-freeldr Mon Sep  3 10:29:13 2007
@@ -1,74 +1,7 @@
 #!/bin/sh -v
 
 export PATH=$PATH:/usr/local/pkg/reactos-powerpc/bin
-make -C lib/mmu
 powerpc-unknown-linux-gnu-ld \
 	-g -nostartfiles -nostdlib -N -Ttext=0xe00000 \
-	-o freeldr.elf \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/boot.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw_util.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw_calls.o \
-	obj-ppc/boot/freeldr/freeldr/cache/blocklist.o \
-	obj-ppc/boot/freeldr/freeldr/cache/cache.o \
-	obj-ppc/boot/freeldr/freeldr/comm/rs232.o \
-	obj-ppc/boot/freeldr/freeldr/disk/disk.o \
-	obj-ppc/boot/freeldr/freeldr/disk/partition.o \
-	obj-ppc/boot/freeldr/freeldr/fs/ext2.o \
-	obj-ppc/boot/freeldr/freeldr/fs/fat.o \
-	obj-ppc/boot/freeldr/freeldr/fs/fs.o \
-	obj-ppc/boot/freeldr/freeldr/fs/fsrec.o \
-	obj-ppc/boot/freeldr/freeldr/fs/iso.o \
-	obj-ppc/boot/freeldr/freeldr/fs/ntfs.o \
-	obj-ppc/boot/freeldr/freeldr/inifile/ini_init.o \
-	obj-ppc/boot/freeldr/freeldr/inifile/inifile.o \
-	obj-ppc/boot/freeldr/freeldr/inifile/parse.o \
-	obj-ppc/boot/freeldr/freeldr/math/libgcc2.o \
-	obj-ppc/boot/freeldr/freeldr/mm/meminit.o \
-	obj-ppc/boot/freeldr/freeldr/mm/mm.o \
-	obj-ppc/boot/freeldr/freeldr/reactos/registry.o \
-	obj-ppc/boot/freeldr/freeldr/reactos/binhive.o \
-	obj-ppc/boot/freeldr/freeldr/reactos/arcname.o \
-	obj-ppc/boot/freeldr/freeldr/reactos/reactos.o \
-	obj-ppc/boot/freeldr/freeldr/rtl/list.o \
-	obj-ppc/boot/freeldr/freeldr/rtl/libsupp.o \
-	obj-ppc/boot/freeldr/freeldr/ui/gui.o \
-	obj-ppc/boot/freeldr/freeldr/ui/tui.o \
-	obj-ppc/boot/freeldr/freeldr/ui/tuimenu.o \
-	obj-ppc/boot/freeldr/freeldr/ui/ui.o \
-	obj-ppc/boot/freeldr/freeldr/video/bank.o \
-	obj-ppc/boot/freeldr/freeldr/video/fade.o \
-	obj-ppc/boot/freeldr/freeldr/video/palette.o \
-	obj-ppc/boot/freeldr/freeldr/video/pixel.o \
-	obj-ppc/boot/freeldr/freeldr/video/video.o \
-	obj-ppc/boot/freeldr/freeldr/freeldr.o \
-	obj-ppc/boot/freeldr/freeldr/debug.o \
-	obj-ppc/boot/freeldr/freeldr/version.o \
-	obj-ppc/boot/freeldr/freeldr/cmdline.o \
-	obj-ppc/boot/freeldr/freeldr/machine.o \
-	obj-ppc/boot/freeldr/freeldr/windows/conversion.o \
-	obj-ppc/boot/freeldr/freeldr/windows/peloader.o \
-	obj-ppc/boot/freeldr/freeldr/windows/winldr.o \
-	obj-ppc/boot/freeldr/freeldr/windows/wlmemory.o \
-	obj-ppc/boot/freeldr/freeldr/windows/wlregistry.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/mach.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/mboot.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/loader.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_ide.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_pci.o \
-	obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_vga.o \
-	obj-ppc/boot/freeldr/freeldr/bootmgr.o \
-	obj-ppc/boot/freeldr/freeldr/drivemap.o \
-	obj-ppc/boot/freeldr/freeldr/miscboot.o \
-	obj-ppc/boot/freeldr/freeldr/options.o \
-	obj-ppc/boot/freeldr/freeldr/linuxboot.o \
-	obj-ppc/boot/freeldr/freeldr/oslist.o \
-	obj-ppc/boot/freeldr/freeldr/custom.o \
-	obj-ppc/lib/rossym/rossym.a \
-	obj-ppc/lib/cmlib/cmlib.a \
-	obj-ppc/lib/string/string.a \
-	obj-ppc/lib/rtl/rtl.a \
-	obj-ppc/lib/mmu/libmmu.a \
-	obj-ppc/lib/mmu/libmmu_code.a \
-	/usr/local/pkg/reactos-powerpc/lib/libgcc.a
+	-o freeldr.elf output-ppc/boot/freeldr/freeldr/ofwldr \
+	-Lobj-ppc/lib/ppcmmu -lppcmmu_code -lppcmmu

Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp?rev=28803&r1=28802&r2=28803&view=diff
==============================================================================
--- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Mon Sep  3 10:29:13 2007
@@ -146,7 +146,7 @@
 MingwModuleHandler::GetTargetDirectoryTree (
 	const Module& module )
 {
-	if ( module.type == StaticLibrary || module.type == BootProgram )
+	if ( module.type == StaticLibrary )
 		return backend->intermediateDirectory;
 	return backend->outputDirectory;
 }




More information about the Ros-diffs mailing list