I think this got lost in noise when I sent it last..
As promised here is the patch for first the --build-on problem and also the final linker problem. Although I consider the second one a patch rather than a fix.. :-)
I have compiled this and tested it with FILO under QEMU. I think this will take care of all of the other builds as well. At least the i386 ones.. :-)
Files Modified: LinuxBIOSv2/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/lib/id.lds LinuxBIOSv2/src/config/Config.lb /*************************Patch*********************************************** diff -C 3 -r -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb *** LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 --- LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 *************** *** 100,106 ****
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld" ! action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
--- 100,106 ----
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld" ! action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
diff -C 3 -r -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds LinuxBIOSv2/src/arch/i386/lib/id.lds *** LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 10:06:31.000000000 -0500 --- LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.000000000 -0500 *************** *** 1,5 **** SECTIONS { ! . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start); .id (.): { *(.id) } --- 1,11 ---- SECTIONS { ! ! /* ! * . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start); ! * This is a temporary fix. Under Fedora 8 ld does not like it if the .id section is above address 0xFFFF_EF00 ! */ ! _ROMTEMP = 0xffffef00; ! . = _ROMTEMP; .id (.): { *(.id) } Only in LinuxBIOSv2/src/arch/i386/lib: id.lds~ diff -C 3 -r -x .svn LinuxBIOSv2.orig/src/config/Config.lb LinuxBIOSv2/src/config/Config.lb *** LinuxBIOSv2.orig/src/config/Config.lb 2007-12-06 10:06:30.000000000 -0500 --- LinuxBIOSv2/src/config/Config.lb 2007-12-04 16:27:48.000000000 -0500 *************** *** 40,51 ****
makerule linuxbios_ram.o depends "$(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" ! action "$(CC) -nostdlib -r -o $@ c_start.o $(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" end
makerule linuxbios_ram depends "linuxbios_ram.o $(TOP)/src/config/linuxbios_ram.ld ldoptions" ! action "$(CC) -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/linuxbios_ram.ld linuxbios_ram.o" action "$(CROSS_COMPILE)nm -n linuxbios_ram | sort > linuxbios_ram.map" end
--- 40,51 ----
makerule linuxbios_ram.o depends "$(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" ! action "$(CC) -Wl,--build-id=none -nostdlib -r -o $@ c_start.o $(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" end
makerule linuxbios_ram depends "linuxbios_ram.o $(TOP)/src/config/linuxbios_ram.ld ldoptions" ! action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/linuxbios_ram.ld linuxbios_ram.o" action "$(CROSS_COMPILE)nm -n linuxbios_ram | sort > linuxbios_ram.map" end /*************************Patch***********************************************
Signed-off-by: Marc Karasek mailto:marc.karasek@sun.com
Hi Marc,
thanks for your patch. Could you resend it in unified diff format (diff -u)? That makes it easier to see the changes.
Regards, Carl-Daniel
Here it is in -u format...
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld" - action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" + action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds LinuxBIOSv2/src/arch/i386/lib/id.lds --- LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.000000000 -0500 @@ -1,5 +1,11 @@ SECTIONS { - . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start); + +/* + * . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start); + * This is a temporary fix. Under Fedora 8 ld does not like it if the .id section is above address 0xFFFF_EF00 +*/ + _ROMTEMP = 0xffffef00; + . = _ROMTEMP; .id (.): { *(.id) } diff -r -u -x .svn LinuxBIOSv2.orig/src/config/Config.lb LinuxBIOSv2/src/config/Config.lb --- LinuxBIOSv2.orig/src/config/Config.lb 2007-12-06 10:06:30.000000000 -0500 +++ LinuxBIOSv2/src/config/Config.lb 2007-12-04 16:27:48.000000000 -0500 @@ -40,12 +40,12 @@
makerule linuxbios_ram.o depends "$(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" - action "$(CC) -nostdlib -r -o $@ c_start.o $(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" + action "$(CC) -Wl,--build-id=none -nostdlib -r -o $@ c_start.o $(DRIVER) linuxbios.a $(LIBGCC_FILE_NAME)" end
makerule linuxbios_ram depends "linuxbios_ram.o $(TOP)/src/config/linuxbios_ram.ld ldoptions" - action "$(CC) -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/linuxbios_ram.ld linuxbios_ram.o" + action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o $@ -T $(TOP)/src/config/linuxbios_ram.ld linuxbios_ram.o" action "$(CROSS_COMPILE)nm -n linuxbios_ram | sort > linuxbios_ram.map" end =================================================================
Signed-off-by: Marc Karasek mailto:marc.karasek@sun.com
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Carl-Daniel Hailfinger wrote:
Hi Marc,
thanks for your patch. Could you resend it in unified diff format (diff -u)? That makes it easier to see the changes.
Regards, Carl-Daniel
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
Here it is in -u format...
Thanks, but I think your Thunderbird broke the patch, probably because you copy-pasted it into the mailer and it clipped long lines.
I recommend to use 'svn diff > foo.patch' in your svn tree (easier IMO, and that already produces patches in the -u format) and then just attach that file to the mail.
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld
crt0.o init.o"
- action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
$@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds LinuxBIOSv2/src/arch/i386/lib/id.lds --- LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.000000000 -0500 @@ -1,5 +1,11 @@ SECTIONS {
- . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
+/*
- . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start);
- This is a temporary fix. Under Fedora 8 ld does not like it if the
.id section is above address 0xFFFF_EF00 +*/
- _ROMTEMP = 0xffffef00;
- . = _ROMTEMP;
I cannot parse this changeset completely, but won't this break the code for other distros or boards?
Please resend the 'svn diff' output so we can test this on some non-Fedora distros.
Thanks, Uwe.
I have attached the patch file. You are right I did cut and paste it from this file.
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Uwe Hermann wrote:
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
Here it is in -u format...
Thanks, but I think your Thunderbird broke the patch, probably because you copy-pasted it into the mailer and it clipped long lines.
I recommend to use 'svn diff > foo.patch' in your svn tree (easier IMO, and that already produces patches in the -u format) and then just attach that file to the mail.
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld
crt0.o init.o"
- action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
$@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds LinuxBIOSv2/src/arch/i386/lib/id.lds --- LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.000000000 -0500 @@ -1,5 +1,11 @@ SECTIONS {
- . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
+/*
- . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start);
- This is a temporary fix. Under Fedora 8 ld does not like it if the
.id section is above address 0xFFFF_EF00 +*/
- _ROMTEMP = 0xffffef00;
- . = _ROMTEMP;
I cannot parse this changeset completely, but won't this break the code for other distros or boards?
Please resend the 'svn diff' output so we can test this on some non-Fedora distros.
Thanks, Uwe.
On 12/7/07, Uwe Hermann uwe@hermann-uwe.de wrote:
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
The Fedora Core 6 version of ld (2.17.50.0.6-5.fc6) doesn't support it. Not sure if that qualifies as reasonably new, but we're still using it.
--Ed
Here is another attempt that does not rely on the --build-id option, incorporating Marc's workaround in src/arch/i386/lib/id.lds for the .id allocation issue.
--Ed
On Fri, Dec 07, 2007 at 12:39:36PM -0800, Ed Swierk wrote:
Here is another attempt that does not rely on the --build-id option, incorporating Marc's workaround in src/arch/i386/lib/id.lds for the .id allocation issue.
The patch is missing the original Signed-off-by from Marc, and your Signed-off-by.
Index: LinuxBIOSv2-2571/src/config/linuxbios_ram.ld
--- LinuxBIOSv2-2571.orig/src/config/linuxbios_ram.ld +++ LinuxBIOSv2-2571/src/config/linuxbios_ram.ld @@ -62,6 +62,10 @@ SECTIONS . = ALIGN(4);
_erodata = .;
- }
- /* ld segfaults if we give it --build-id and then discard this section */
- .note.gnu.build-id : {
} /**(.note.gnu.build-id)
- After the code we place initialized data (typically initialized
Index: LinuxBIOSv2-2571/src/arch/i386/lib/id.lds
--- LinuxBIOSv2-2571.orig/src/arch/i386/lib/id.lds +++ LinuxBIOSv2-2571/src/arch/i386/lib/id.lds @@ -1,5 +1,10 @@ SECTIONS {
- . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
- /*
* . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
* This is a temporary fix. Under Fedora 8 ld does not like it if the .id section is above address 0xFFFF_EF00
*/
- _ROMTEMP = 0xffffef00;
- . = _ROMTEMP;
This part breaks the majority of all boards in v2 (checked with abuild).
E.g. on asus/p2b:
./buildrom linuxbios.strip linuxbios.rom payload 0x10000 0x20000 linuxbios image is 192277 bytes; only 65536 allowed Linuxbios input file larger than allowed size! : Success make[1]: *** [linuxbios.rom] Error 2 make[1]: Leaving directory `/tmp/v2/targets/asus/p2b/p2b/normal' make: *** [normal/linuxbios.rom] Error 1
There must be some other way to fix this.
.id (.): { *(.id) } Index: LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb =================================================================== --- LinuxBIOSv2-2571.orig/src/arch/i386/init/ldscript.lb +++ LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb @@ -53,6 +53,10 @@ SECTIONS _erom = .; }
- .note.gnu.build-id : {
*(.note.gnu.build-id)
- }
- _lrom = LOADADDR(.rom); _elrom = LOADADDR(.rom) + SIZEOF(.rom); _iseg = _RAMBASE;
@@ -63,5 +67,6 @@ SECTIONS /DISCARD/ : { *(.comment) *(.note)
}*(.note.*)
}
Uwe.
I am going to look at how to make the Makefile find out what you are running on. Maybe we can use the xcompile util from V3 or look at ld somehow and make a decision about what options to compile with.
I will look into this in the next day or so and will post my findings...
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Ed Swierk wrote:
On 12/7/07, Uwe Hermann uwe@hermann-uwe.de wrote:
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
The Fedora Core 6 version of ld (2.17.50.0.6-5.fc6) doesn't support it. Not sure if that qualifies as reasonably new, but we're still using it.
--Ed
I have come up with a awk script that could be used in the makefile to query the ld version and make a decision based the output to add the compile option or not. I have attached the script and will incorporate it into the makefile and send a patch out hopefully today.
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Ed Swierk wrote:
On 12/7/07, Uwe Hermann uwe@hermann-uwe.de wrote:
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
The Fedora Core 6 version of ld (2.17.50.0.6-5.fc6) doesn't support it. Not sure if that qualifies as reasonably new, but we're still using it.
--Ed
On Tue, 11 Dec 2007 11:20:36 -0500 Marc Karasek Marc.Karasek@Sun.COM wrote:
I have come up with a awk script that could be used in the makefile to query the ld version and make a decision based the output to add the compile option or not. I have attached the script and will incorporate it into the makefile and send a patch out hopefully today.
No attachment here. :-/
Triton wrote:
On Tue, 11 Dec 2007 11:20:36 -0500 Marc Karasek Marc.Karasek@Sun.COM wrote:
I have come up with a awk script that could be used in the makefile to query the ld version and make a decision based the output to add the compile option or not. I have attached the script and will incorporate it into the makefile and send a patch out hopefully today.
No attachment here. :-/
Read the quote again ;)
-Corey
Forgot the attachment
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Ed Swierk wrote:
On 12/7/07, Uwe Hermann uwe@hermann-uwe.de wrote:
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
The Fedora Core 6 version of ld (2.17.50.0.6-5.fc6) doesn't support it. Not sure if that qualifies as reasonably new, but we're still using it.
--Ed
{for (i=1;i<=NF;i++) if ($i=="2.17"){n++} }; END {print n}
(echo | ld --version) | awk '{for (i=1;i<=NF;i++) if ($i=="2.17.50.0.18-1"){n++} }; END {print n}'
I think you are adding too much complexity to the build process. it may be time to step back a bit and think about all this.
Just my $.02
ron
I did and I came up with a better solution. I added an option called BUILDID_OPTION to the process. This is a string that is set to the "-Wl,--build-id=none" for newer ld versions and can be set to blank for older ld versions. I have attached the patch file to add this to V2. I think this should take care of any backwards compatibility. :-)
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
ron minnich wrote:
I think you are adding too much complexity to the build process. it may be time to step back a bit and think about all this.
Just my $.02
ron
OK, I am looking at this patch again, and it's still not quite the right idea. Setting this kind of build option in the Config file is not really right.
However ...
if you just retained this much: Index: src/arch/i386/Config.lb =================================================================== --- src/arch/i386/Config.lb (revision 3003) +++ src/arch/i386/Config.lb (working copy) @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld" - action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" + action "$(CC) $(BUILDID_OPTION) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
Then couldn't the build pick up an environment variable?
Still thinking about how to fix this. I don't think what I've seen so far will work.
ron
On 16.12.2007 02:39, ron minnich wrote:
OK, I am looking at this patch again, and it's still not quite the right idea. Setting this kind of build option in the Config file is not really right.
However ...
if you just retained this much: Index: src/arch/i386/Config.lb =================================================================== --- src/arch/i386/Config.lb (revision 3003) +++ src/arch/i386/Config.lb (working copy) @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC)
$(LINUXBIOS_RAM_ROM) ldscript.ld"
action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o"
action "$(CC) $(BUILDID_OPTION) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
Then couldn't the build pick up an environment variable?
Still thinking about how to fix this. I don't think what I've seen so far will work.
Why not simply compile a small test.c file, look whether the output file contains buildid, and set a Make variable based on that?
Regards, Carl-Daniel
On Dec 18, 2007 12:51 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Why not simply compile a small test.c file, look whether the output file contains buildid, and set a Make variable based on that?
I'm not picky about how we figure it out, only that the test be run out of buildtarget, and that it set variables in a makefile that is included.
short form: no running complex tests out of the build process each time, and for sure no setting things Options.lb.
Thanks
ron
How about my awk script I sent out that uses the output from ld --help to see if buildid is and option. This handles the different distro problem.
If I can get some time, I will put together a patch file with the changes to buildtarget to create a makefile.distro using awk to test ld for the buildid option.
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
ron minnich wrote:
On Dec 18, 2007 12:51 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Why not simply compile a small test.c file, look whether the output file contains buildid, and set a Make variable based on that?
I'm not picky about how we figure it out, only that the test be run out of buildtarget, and that it set variables in a makefile that is included.
short form: no running complex tests out of the build process each time, and for sure no setting things Options.lb.
Thanks
ron
On Dec 18, 2007 12:58 PM, Marc Karasek Marc.Karasek@sun.com wrote:
If I can get some time, I will put together a patch file with the changes to buildtarget to create a makefile.distro using awk to test ld for the buildid option.
perfect.
Thanks
ron
On Tue, Dec 18, 2007 at 03:58:48PM -0500, Marc Karasek wrote:
How about my awk script I sent out that uses the output from ld --help to see if buildid is and option.
The awk script behavior may be a problem, depending on how it is called from buildtarget. See my other message with the simple grep suggestion.
A patch would be great! :)
//Peter
On Dec 18, 2007 4:11 PM, Peter Stuge peter@stuge.se wrote:
The awk script behavior may be a problem, depending on how it is called from buildtarget. See my other message with the simple grep suggestion.
no problem.
A patch would be great! :)
yes, from there we can figure it out.
ron
Uwe Hermann schrieb:
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
Here it is in -u format...
Thanks, but I think your Thunderbird broke the patch, probably because you copy-pasted it into the mailer and it clipped long lines.
I recommend to use 'svn diff > foo.patch' in your svn tree (easier IMO, and that already produces patches in the -u format) and then just attach that file to the mail.
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld
crt0.o init.o"
- action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
that's why we started using util/xcompile.
Is the xcompile util a V3 only util? I did not see it in the V2 tree.
If this is so, then it will not help us, unless we add it to V2 as V3 compiles fine, the only broken build currently is the V2 build.
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Stefan Reinauer wrote:
Uwe Hermann schrieb:
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
Here it is in -u format...
Thanks, but I think your Thunderbird broke the patch, probably because you copy-pasted it into the mailer and it clipped long lines.
I recommend to use 'svn diff > foo.patch' in your svn tree (easier IMO, and that already produces patches in the -u format) and then just attach that file to the mail.
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld
crt0.o init.o"
- action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static
-o
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
that's why we started using util/xcompile.
I have done the svn diff as you requested and attached the patch file.
This also removes the patch that Ed had submitted to first try to fix the --build-id option.
I saw some other posts about just adding the node-id section to the linker files. This will increase the file size unless we also add the section into the flash part.
/********************* Marc Karasek MTS Sun Microsystems mailto:marc.karasek@sun.com ph:770.360.6415 *********************/
Uwe Hermann wrote:
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
Here it is in -u format...
Thanks, but I think your Thunderbird broke the patch, probably because you copy-pasted it into the mailer and it clipped long lines.
I recommend to use 'svn diff > foo.patch' in your svn tree (easier IMO, and that already produces patches in the -u format) and then just attach that file to the mail.
================================================================= diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb LinuxBIOSv2/src/arch/i386/Config.lb --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.000000000 -0500 @@ -100,7 +100,7 @@
makerule linuxbios depends "crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld"
- action "$(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld
crt0.o init.o"
- action "$(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o
We should make sure this doesn't break any other distros / compiler versions. Do all reasonably new gcc/ld versions know about '--build-id'?
$@ -T ldscript.ld crt0.o init.o" action "$(CROSS_COMPILE)nm -n linuxbios | sort > linuxbios.map" end
diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds LinuxBIOSv2/src/arch/i386/lib/id.lds --- LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 10:06:31.000000000 -0500 +++ LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.000000000 -0500 @@ -1,5 +1,11 @@ SECTIONS {
- . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
+/*
- . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start);
- This is a temporary fix. Under Fedora 8 ld does not like it if the
.id section is above address 0xFFFF_EF00 +*/
- _ROMTEMP = 0xffffef00;
- . = _ROMTEMP;
I cannot parse this changeset completely, but won't this break the code for other distros or boards?
Please resend the 'svn diff' output so we can test this on some non-Fedora distros.
Thanks, Uwe.