* Current SVN is broken on x86_64
@ 2008-08-04 0:31 Felix Zielcke
2008-08-04 5:02 ` Pavel Roskin
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Felix Zielcke @ 2008-08-04 0:31 UTC (permalink / raw)
To: The development of GRUB 2
I just tried to compile the Debian packages with the currently SVN
version and it failed:
cc -Iloader/i386/efi -I/home/fz/grub/grub2-1.96+20080804/loader/i386/efi -I. -Iinclude -I/home/fz/grub/grub2-1.96+20080804/include -Wall -W -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -Os -m64 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -m64 -MD -c -o _linux_mod-loader_i386_efi_linux.o /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c
In file included from /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c:34:
/home/fz/grub/grub2-1.96+20080804/include/grub/pci.h:48:26: error: grub/cpu/pci.h: No such file or directory
/home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c: In function 'grub_find_video_card':
/home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c:471: warning: implicit declaration of function 'grub_pci_read'
make[1]: *** [_linux_mod-loader_i386_efi_linux.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/fz/grub/grub2-1.96+20080804/build/grub-efi'
make: *** [build/grub-efi] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
debuild: fatal error at line 1319:
dpkg-buildpackage -rfakeroot -D -us -uc -j3 failed
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 0:31 Current SVN is broken on x86_64 Felix Zielcke
@ 2008-08-04 5:02 ` Pavel Roskin
2008-08-04 9:16 ` Robert Millan
2008-08-04 9:16 ` Robert Millan
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Pavel Roskin @ 2008-08-04 5:02 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, 2008-08-04 at 02:31 +0200, Felix Zielcke wrote:
> I just tried to compile the Debian packages with the currently SVN
> version and it failed:
>
> cc -Iloader/i386/efi -I/home/fz/grub/grub2-1.96+20080804/loader/i386/efi -I. -Iinclude -I/home/fz/grub/grub2-1.96+20080804/include -Wall -W -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -Os -m64 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -m64 -MD -c -o _linux_mod-loader_i386_efi_linux.o /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c
> In file included from /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c:34:
> /home/fz/grub/grub2-1.96+20080804/include/grub/pci.h:48:26: error: grub/cpu/pci.h: No such file or directory
I confirm it. And the i386-pc platform grew new warnings:
kern/main.c: In function 'grub_set_root_dev':
kern/main.c:108: warning: implicit declaration of function 'grub_free'
loader/i386/pc/multiboot.c: In function 'grub_multiboot_load_elf32':
loader/i386/pc/multiboot.c:165: warning: assignment makes integer from
pointer without a cast
loader/i386/pc/multiboot.c:168: warning: passing argument 1 of
'grub_memmove' makes pointer from integer without a cast
loader/i386/pc/multiboot.c:175: warning: initialization makes pointer
from integer without a cast
loader/i386/pc/multiboot.c:177: warning: format '%p' expects type 'void
*', but argument 6 has type 'Elf32_Addr'
loader/i386/pc/multiboot.c:177: warning: format '%p' expects type 'void
*', but argument 7 has type 'Elf32_Word'
loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
*', but argument 5 has type 'grub_addr_t'
loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
*', but argument 6 has type 'grub_size_t'
loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
*', but argument 7 has type 'grub_uint32_t'
loader/i386/pc/multiboot.c:128: warning: unused variable
'physical_entry_addr'
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 0:31 Current SVN is broken on x86_64 Felix Zielcke
2008-08-04 5:02 ` Pavel Roskin
@ 2008-08-04 9:16 ` Robert Millan
2008-08-04 12:51 ` Pavel Roskin
2008-08-04 10:09 ` Current SVN is broken on x86_64 Felix Zielcke
2008-08-07 10:58 ` Current SVN is (still ?, again ?) broken Felix Zielcke
3 siblings, 1 reply; 12+ messages in thread
From: Robert Millan @ 2008-08-04 9:16 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Aug 04, 2008 at 02:31:28AM +0200, Felix Zielcke wrote:
> I just tried to compile the Debian packages with the currently SVN
> version and it failed:
>
> cc -Iloader/i386/efi -I/home/fz/grub/grub2-1.96+20080804/loader/i386/efi -I. -Iinclude -I/home/fz/grub/grub2-1.96+20080804/include -Wall -W -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -Os -m64 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -m64 -MD -c -o _linux_mod-loader_i386_efi_linux.o /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c
> In file included from /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c:34:
> /home/fz/grub/grub2-1.96+20080804/include/grub/pci.h:48:26: error: grub/cpu/pci.h: No such file or directory
> /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c: In function 'grub_find_video_card':
> /home/fz/grub/grub2-1.96+20080804/loader/i386/efi/linux.c:471: warning: implicit declaration of function 'grub_pci_read'
So we have grub/i386/pci.h but not grub/x86_64/pci.h. This is my fault, but I
think it's too easy to make mistakes with this <grub/i386/> vs <grub/x86_64/>
duplicity.
Furthermore, I had a look and some of the x86_64 versions are just stubs that
include the i386 one.
Why don't we handle this like Linux? They ship a single directory and use
#ifdefs where appropiate. That enforces consistency in the dir layout.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 5:02 ` Pavel Roskin
@ 2008-08-04 9:16 ` Robert Millan
0 siblings, 0 replies; 12+ messages in thread
From: Robert Millan @ 2008-08-04 9:16 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Aug 04, 2008 at 01:02:41AM -0400, Pavel Roskin wrote:
>
> I confirm it. And the i386-pc platform grew new warnings:
>
> kern/main.c: In function 'grub_set_root_dev':
> kern/main.c:108: warning: implicit declaration of function 'grub_free'
> loader/i386/pc/multiboot.c: In function 'grub_multiboot_load_elf32':
> loader/i386/pc/multiboot.c:165: warning: assignment makes integer from
> pointer without a cast
> loader/i386/pc/multiboot.c:168: warning: passing argument 1 of
> 'grub_memmove' makes pointer from integer without a cast
> loader/i386/pc/multiboot.c:175: warning: initialization makes pointer
> from integer without a cast
> loader/i386/pc/multiboot.c:177: warning: format '%p' expects type 'void
> *', but argument 6 has type 'Elf32_Addr'
> loader/i386/pc/multiboot.c:177: warning: format '%p' expects type 'void
> *', but argument 7 has type 'Elf32_Word'
> loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
> *', but argument 5 has type 'grub_addr_t'
> loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
> *', but argument 6 has type 'grub_size_t'
> loader/i386/pc/multiboot.c:205: warning: format '%p' expects type 'void
> *', but argument 7 has type 'grub_uint32_t'
> loader/i386/pc/multiboot.c:128: warning: unused variable
> 'physical_entry_addr'
Sorry, my bad. I'll have a look at this.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 0:31 Current SVN is broken on x86_64 Felix Zielcke
2008-08-04 5:02 ` Pavel Roskin
2008-08-04 9:16 ` Robert Millan
@ 2008-08-04 10:09 ` Felix Zielcke
2008-08-07 10:58 ` Current SVN is (still ?, again ?) broken Felix Zielcke
3 siblings, 0 replies; 12+ messages in thread
From: Felix Zielcke @ 2008-08-04 10:09 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 253 bytes --]
Am Montag, den 04.08.2008, 02:31 +0200 schrieb Felix Zielcke:
> I just tried to compile the Debian packages with the currently SVN
> version and it failed:
>
Just in case it helps more, I attached the full build log now.
Uncompressed it's ~1,6 MB big-
[-- Attachment #2: buildlog.txt.bz2 --]
[-- Type: application/x-bzip, Size: 46733 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 9:16 ` Robert Millan
@ 2008-08-04 12:51 ` Pavel Roskin
2008-08-04 15:11 ` Robert Millan
2008-08-07 12:21 ` merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64) Robert Millan
0 siblings, 2 replies; 12+ messages in thread
From: Pavel Roskin @ 2008-08-04 12:51 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, 2008-08-04 at 11:16 +0200, Robert Millan wrote:
> Furthermore, I had a look and some of the x86_64 versions are just stubs that
> include the i386 one.
>
> Why don't we handle this like Linux? They ship a single directory and use
> #ifdefs where appropiate. That enforces consistency in the dir layout.
I think we can do it. i386 and x86_64 could be joined into one "x86"
architecture with common headers and sources. Perhaps the users should
still use i386 and x86_64 in configure, but the code should be mostly
common.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 12:51 ` Pavel Roskin
@ 2008-08-04 15:11 ` Robert Millan
2008-08-04 18:27 ` Pavel Roskin
2008-08-07 12:21 ` merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64) Robert Millan
1 sibling, 1 reply; 12+ messages in thread
From: Robert Millan @ 2008-08-04 15:11 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Aug 04, 2008 at 08:51:25AM -0400, Pavel Roskin wrote:
> On Mon, 2008-08-04 at 11:16 +0200, Robert Millan wrote:
>
> > Furthermore, I had a look and some of the x86_64 versions are just stubs that
> > include the i386 one.
> >
> > Why don't we handle this like Linux? They ship a single directory and use
> > #ifdefs where appropiate. That enforces consistency in the dir layout.
>
> I think we can do it. i386 and x86_64 could be joined into one "x86"
> architecture with common headers and sources. Perhaps the users should
> still use i386 and x86_64 in configure, but the code should be mostly
> common.
Ok, but I think the i386->x86 rename would be overkill. We're already using
i386/ headers on x86_64 (for example, when building util/ stuff in grub-pc). It
doesn't hurt if we continue doing that IMHO.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is broken on x86_64
2008-08-04 15:11 ` Robert Millan
@ 2008-08-04 18:27 ` Pavel Roskin
0 siblings, 0 replies; 12+ messages in thread
From: Pavel Roskin @ 2008-08-04 18:27 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, 2008-08-04 at 17:11 +0200, Robert Millan wrote:
> Ok, but I think the i386->x86 rename would be overkill. We're already using
> i386/ headers on x86_64 (for example, when building util/ stuff in grub-pc). It
> doesn't hurt if we continue doing that IMHO.
Fine with me.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Current SVN is (still ?, again ?) broken
2008-08-04 0:31 Current SVN is broken on x86_64 Felix Zielcke
` (2 preceding siblings ...)
2008-08-04 10:09 ` Current SVN is broken on x86_64 Felix Zielcke
@ 2008-08-07 10:58 ` Felix Zielcke
2008-08-07 12:01 ` Bean
3 siblings, 1 reply; 12+ messages in thread
From: Felix Zielcke @ 2008-08-07 10:58 UTC (permalink / raw)
To: The development of GRUB 2
Am Montag, den 04.08.2008, 02:31 +0200 schrieb Felix Zielcke:
> I just tried to compile the Debian packages with the currently SVN
> version and it failed:
>
And again, I did a clean `svn co' to compile the full suite of debian
packages and this time i386-efi failed:
cc -Ikern/i386/efi -I/home/fz/grub/grub2-1.96+20080807/kern/i386/efi -I. -Iinclude -I/home/fz/grub/grub2-1.96+20080807/include -Wall -W -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -Os -m64 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -m64 -MD -c -o kernel_mod-kern_i386_efi_init.o /home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c
/home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c:28:26: error: grub/cpu/tsc.h: No such file or directory
/home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c: In function 'grub_machine_init':
/home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c:34: warning: implicit declaration of function 'grub_tsc_init'
make[1]: *** [kernel_mod-kern_i386_efi_init.o] Error 1
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Current SVN is (still ?, again ?) broken
2008-08-07 10:58 ` Current SVN is (still ?, again ?) broken Felix Zielcke
@ 2008-08-07 12:01 ` Bean
0 siblings, 0 replies; 12+ messages in thread
From: Bean @ 2008-08-07 12:01 UTC (permalink / raw)
To: The development of GRUB 2
On Thu, Aug 7, 2008 at 6:58 PM, Felix Zielcke <fzielcke@z-51.de> wrote:
> Am Montag, den 04.08.2008, 02:31 +0200 schrieb Felix Zielcke:
>> I just tried to compile the Debian packages with the currently SVN
>> version and it failed:
>>
> And again, I did a clean `svn co' to compile the full suite of debian
> packages and this time i386-efi failed:
>
> cc -Ikern/i386/efi -I/home/fz/grub/grub2-1.96+20080807/kern/i386/efi -I. -Iinclude -I/home/fz/grub/grub2-1.96+20080807/include -Wall -W -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -Os -m64 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -m64 -MD -c -o kernel_mod-kern_i386_efi_init.o /home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c
> /home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c:28:26: error: grub/cpu/tsc.h: No such file or directory
> /home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c: In function 'grub_machine_init':
> /home/fz/grub/grub2-1.96+20080807/kern/i386/efi/init.c:34: warning: implicit declaration of function 'grub_tsc_init'
> make[1]: *** [kernel_mod-kern_i386_efi_init.o] Error 1
Hi,
I have fixed missing file in build script i386-efi.rmk and
i386-ieee1275.rmk, it should work now. x86_64-efi.rmk is still broken,
I will take a look at it later.
But I don't have 32-bit efi hardware to test, would someone please
verify that if the new tsc code work in efi ?
--
Bean
^ permalink raw reply [flat|nested] 12+ messages in thread
* merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64)
2008-08-04 12:51 ` Pavel Roskin
2008-08-04 15:11 ` Robert Millan
@ 2008-08-07 12:21 ` Robert Millan
2008-08-07 12:25 ` Robert Millan
1 sibling, 1 reply; 12+ messages in thread
From: Robert Millan @ 2008-08-07 12:21 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]
On Mon, Aug 04, 2008 at 08:51:25AM -0400, Pavel Roskin wrote:
> On Mon, 2008-08-04 at 11:16 +0200, Robert Millan wrote:
>
> > Furthermore, I had a look and some of the x86_64 versions are just stubs that
> > include the i386 one.
> >
> > Why don't we handle this like Linux? They ship a single directory and use
> > #ifdefs where appropiate. That enforces consistency in the dir layout.
>
> I think we can do it. i386 and x86_64 could be joined into one "x86"
> architecture with common headers and sources. Perhaps the users should
> still use i386 and x86_64 in configure, but the code should be mostly
> common.
I gave a try at this, which I haven't completed yet. Here's what I have
so far.
The biggest stumbling block seems to be that autoconf doesn't make it easy
to do AC_CHECK_SIZEOF checks for standard compiling and cross-compiling in
the same run (it does support cross-compiling though).
I haven't found a way to do it. If I modify types.m4 to export its
findings to a variable instead of dumping them to config.h directly,
further calls to the same check won't return different results, even if
CC / CFLAGS has been adjusted.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
[-- Attachment #2: efi_build.diff --]
[-- Type: text/x-diff, Size: 3033 bytes --]
Index: conf/i386-efi.rmk
===================================================================
--- conf/i386-efi.rmk (revision 1787)
+++ conf/i386-efi.rmk (working copy)
@@ -1,8 +1,8 @@
# -*- makefile -*-
-COMMON_ASFLAGS = -nostdinc -fno-builtin -m32
-COMMON_CFLAGS = -fno-builtin -m32
-COMMON_LDFLAGS = -melf_i386 -nostdlib
+COMMON_ASFLAGS = -nostdinc -fno-builtin
+COMMON_CFLAGS = -fno-builtin
+COMMON_LDFLAGS = -nostdlib
# Used by various components. These rules need to precede them.
normal/lexer.c_DEPENDENCIES = grub_script.tab.h
Index: configure.ac
===================================================================
--- configure.ac (revision 1787)
+++ configure.ac (working copy)
@@ -75,7 +75,6 @@
# Adjust CPU unless target was explicitly specified.
if test -z "$target_alias"; then
case "$target_cpu"-"$platform" in
- x86_64-efi) ;;
x86_64-*) target_cpu=i386 ;;
powerpc64-ieee1275) target_cpu=powerpc ;;
esac
@@ -84,21 +83,15 @@
# Check if the platform is supported, make final adjustments.
case "$target_cpu"-"$platform" in
i386-efi) ;;
- x86_64-efi) ;;
- i386-pc) ;;
- i386-coreboot) ;;
- i386-linuxbios) platform=coreboot ;;
- i386-ieee1275) ;;
+ i386-pc) target_m32=1 ;;
+ i386-coreboot) target_m32=1 ;;
+ i386-linuxbios) target_m32=1 ; platform=coreboot ;;
+ i386-ieee1275) target_m32=1 ;;
powerpc-ieee1275) ;;
sparc64-ieee1275) ;;
*) AC_MSG_ERROR([platform "$platform" is not supported for target CPU "$target_cpu"]) ;;
esac
-case "$target_cpu" in
- i386 | powerpc) target_m32=1 ;;
- x86_64 | sparc64) target_m64=1 ;;
-esac
-
AC_SUBST(target_cpu)
AC_SUBST(platform)
Index: include/grub/i386/setjmp.h
===================================================================
--- include/grub/i386/setjmp.h (revision 1787)
+++ include/grub/i386/setjmp.h (working copy)
@@ -19,10 +19,19 @@
#ifndef GRUB_SETJMP_CPU_HEADER
#define GRUB_SETJMP_CPU_HEADER 1
-typedef unsigned long grub_jmp_buf[6];
+typedef unsigned long grub_jmp_buf[8];
+#ifdef __x86_64__
+
+int grub_setjmp (grub_jmp_buf env);
+void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
+
+#else
+
int grub_setjmp (grub_jmp_buf env) __attribute__ ((cdecl, regparm (3)));
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn, cdecl,
regparm (3)));
+#endif
+
#endif /* ! GRUB_SETJMP_CPU_HEADER */
Index: include/grub/i386/types.h
===================================================================
--- include/grub/i386/types.h (revision 1787)
+++ include/grub/i386/types.h (working copy)
@@ -19,12 +19,24 @@
#ifndef GRUB_TYPES_CPU_HEADER
#define GRUB_TYPES_CPU_HEADER 1
+#ifdef __i386__
+
/* The size of void *. */
#define GRUB_TARGET_SIZEOF_VOID_P 4
/* The size of long. */
#define GRUB_TARGET_SIZEOF_LONG 4
+#else
+
+/* The size of void *. */
+#define GRUB_TARGET_SIZEOF_VOID_P 8
+
+/* The size of long. */
+#define GRUB_TARGET_SIZEOF_LONG 8
+
+#endif
+
/* i386 is little-endian. */
#undef GRUB_TARGET_WORDS_BIGENDIAN
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64)
2008-08-07 12:21 ` merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64) Robert Millan
@ 2008-08-07 12:25 ` Robert Millan
0 siblings, 0 replies; 12+ messages in thread
From: Robert Millan @ 2008-08-07 12:25 UTC (permalink / raw)
To: The development of GRUB 2
On Thu, Aug 07, 2008 at 02:21:03PM +0200, Robert Millan wrote:
> On Mon, Aug 04, 2008 at 08:51:25AM -0400, Pavel Roskin wrote:
> > On Mon, 2008-08-04 at 11:16 +0200, Robert Millan wrote:
> >
> > > Furthermore, I had a look and some of the x86_64 versions are just stubs that
> > > include the i386 one.
> > >
> > > Why don't we handle this like Linux? They ship a single directory and use
> > > #ifdefs where appropiate. That enforces consistency in the dir layout.
> >
> > I think we can do it. i386 and x86_64 could be joined into one "x86"
> > architecture with common headers and sources. Perhaps the users should
> > still use i386 and x86_64 in configure, but the code should be mostly
> > common.
>
> I gave a try at this, which I haven't completed yet. Here's what I have
> so far.
>
> The biggest stumbling block seems to be that autoconf doesn't make it easy
> to do AC_CHECK_SIZEOF checks for standard compiling and cross-compiling in
> the same run (it does support cross-compiling though).
>
> I haven't found a way to do it. If I modify types.m4 to export its
> findings to a variable instead of dumping them to config.h directly,
> further calls to the same check won't return different results, even if
> CC / CFLAGS has been adjusted.
Somebody pointed an interesting solution to me on IRC: we could have multiple
configure scripts, one for each kind of compilation.
I think what would fit well in this scheme is a simple util/configure that
just setups things to build native tools "the usual way", and then the main
configure can:
a) Invoke util/configure with the right params for native compilation
b) Simplify its own arch handling logic.
Thoughts?
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2008-08-07 12:26 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-04 0:31 Current SVN is broken on x86_64 Felix Zielcke
2008-08-04 5:02 ` Pavel Roskin
2008-08-04 9:16 ` Robert Millan
2008-08-04 9:16 ` Robert Millan
2008-08-04 12:51 ` Pavel Roskin
2008-08-04 15:11 ` Robert Millan
2008-08-04 18:27 ` Pavel Roskin
2008-08-07 12:21 ` merging i386-efi and x86_64-efi (Re: Current SVN is broken on x86_64) Robert Millan
2008-08-07 12:25 ` Robert Millan
2008-08-04 10:09 ` Current SVN is broken on x86_64 Felix Zielcke
2008-08-07 10:58 ` Current SVN is (still ?, again ?) broken Felix Zielcke
2008-08-07 12:01 ` Bean
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.