To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 3006
3005  |  3007
Subject: 
brickOS and latest binutils (1 issue now fixed in binutils CVS, and workaround patch to brickOS for the other)
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 4 Dec 2002 00:21:54 GMT
Viewed: 
3058 times
  
The "invalid symbolsrec file" issue (error from makelx) issue is now fixed
in binutils CVS, both on the trunk, and on the 2.13 branch - so the next
release of binutils, be it 2.13.2 or 2.14 will have this fixed.

The "ld segmentation fault" issue is rather more tricky, and will require
the attention of a binutils COFF guru, but this patch to Makefile.user works
around it:

NB: Yes, I am overriding "OUTPUT_FORMAT(symbolsrec)" from brickOS.lds
with --oformat coff-h8300. You may choose to change genlds instead if you
like. It mainly depends on whether you this is treated as a temporary (but
probably long term) workaround, or a permanent change.

PS: The cause of the "ld segfault" issue is a buffer overrun which actually
existed way before binutils-2.13, its just it only started to hit memory
which was later used by the memory manager in binutils-2.13

Max.

########################################
Index: Makefile.user
===================================================================
RCS file: /cvsroot/brickos/brickos/Makefile.user,v
retrieving revision 1.8
diff -u -r1.8 Makefile.user
--- Makefile.user 23 Oct 2002 06:04:31 -0000 1.8
+++ Makefile.user 4 Dec 2002 00:15:26 -0000
@@ -45,13 +45,19 @@
%.dis2: %.dmap %.dis
  $(MERGEMAP) $*.dmap $*.dis > $@

-#  How to make srec files of dynamic executables
-%.ds1: %.o $(DOBJECTS) $(DYNAMIC_LDS)
- $(LD) $(DLDFLAGS) $*.o $(DOBJECTS) $(LIBS) -o $@ -Ttext $(BASE1)
+#  How to make coff files of dynamic executables (twice, for makelx)
+%.dc1: %.o $(DOBJECTS) $(DYNAMIC_LDS)
+ $(LD) $(DLDFLAGS) $< $(DOBJECTS) $(LIBS) -o $@ --oformat coff-h8300 -Ttext
$(BASE1)

-#  How to make srec files of dynamic executables
-%.ds2: %.o $(DOBJECTS) $(DYNAMIC_LDS)
- $(LD) $(DLDFLAGS) $*.o $(DOBJECTS) $(LIBS) -o $@ -Ttext $(BASE2)
+%.dc2: %.o $(DOBJECTS) $(DYNAMIC_LDS)
+ $(LD) $(DLDFLAGS) $< $(DOBJECTS) $(LIBS) -o $@ --oformat coff-h8300 -Ttext
$(BASE2)
+
+#  How to make srec files from coff files (twice, for makelx)
+%.ds1: %.dc1
+ $(OBJCOPY) -I coff-h8300 -O symbolsrec $< $@
+
+%.ds2: %.dc2
+ $(OBJCOPY) -I coff-h8300 -O symbolsrec $< $@

%.lx: %.ds1 %.ds2
  $(MAKELX) $*.ds1 $*.ds2 $@
########################################



Message has 1 Reply:
  Re: brickOS and latest binutils
 
(...) What's the change? Has the symbolsrec format reverted to the one used before? (...) Why a COFF guru? To understand the h8300-coff format? Sorry if these are stupid questions. Just curious. (22 years ago, 5-Dec-02, to lugnet.robotics.rcx.legos)

3 Messages in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR