Re: [GIT PULL] unify sparc header files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> So this looks correct except that we include the wrong header file.
> So the test:
> #if defined(__sparc__) && defined(__arch64__)
> 
> is the bad one.
....
> 
> We can fix the -Usparc64 for the vmlinux.lds file if the right check is:
> #if defined(__sparc__) && defined(sparc64)

I think this is the right way to go so I have locally
committed the following patch.
I will adjust the other 25 patches and then drop
you another mail.
It may take a few days as I'm busy with other stuff.

	Sam

commit 642a206ead6b3dc47a3152c428241d542c079461
Author: Sam Ravnborg <sam@xxxxxxxxxxxx>
Date:   Sat Jul 5 22:47:22 2008 +0200

    sparc: allow use of sparc64 in header files
    
    Move the undefine of sparc64 down into the .lds file
    thus allowing use of the following conditional in
    header files:
    
    :#ifdef sparc64
    :  here goes 64 bit stuff
    :#else
    :  here goes 32 bit stuff
    :#endif
    
    We will use the above when unifying sparc and sparc64.
    
    Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>

diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile
index 4b8f2b0..3e897c5 100644
--- a/arch/sparc64/Makefile
+++ b/arch/sparc64/Makefile
@@ -9,8 +9,6 @@
 
 CHECKFLAGS	+= -D__sparc__ -D__sparc_v9__ -m64
 
-CPPFLAGS_vmlinux.lds += -Usparc
-
 LDFLAGS		:= -m elf64_sparc
 
 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow \
diff --git a/arch/sparc64/kernel/Makefile b/arch/sparc64/kernel/Makefile
index ec4f5eb..f9273c8 100644
--- a/arch/sparc64/kernel/Makefile
+++ b/arch/sparc64/kernel/Makefile
@@ -5,6 +5,9 @@
 EXTRA_AFLAGS := -ansi
 EXTRA_CFLAGS := -Werror
 
+# Override default CPPFLAGS to avoid undef of sparc64
+CPPFLAGS_vmlinux.lds += -P -C
+
 extra-y		:= head.o init_task.o vmlinux.lds
 
 obj-y		:= process.o setup.o cpu.o idprom.o \
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S
index 01f8096..907282f 100644
--- a/arch/sparc64/kernel/vmlinux.lds.S
+++ b/arch/sparc64/kernel/vmlinux.lds.S
@@ -3,6 +3,9 @@
 #include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
 
+/* We use sparc symbol below so override the gcc define of sparc */
+#undef sparc
+
 OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
 OUTPUT_ARCH(sparc:v9a)
 ENTRY(_start)
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux