Re: [uClinux-dev] [Fwd: convert ld-elf2flt to C program]

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 On Monday 06 July 2009 00:24:46 David McCullough wrote:
  Jivin Mike Frysinger lays it down ...
   On Wednesday 20 February 2008 19:22:38 David McCullough wrote:
If someone wants to have a go at reducing the code size/complexity a
bit (or not) and make sure the patch is up to date and only used for
cygwin/windows builds, I will get it committed into the elf2flt repo on
uclinux.org, promise :-)
  
   is this still your opinion David ?  while i dont agree, if it's the only
   way to get merged, then i guess i'll have to do it.  rather than tying it
   to a target environment, i would make it a configure option.  something
   like: ./configure --enable-ld-elf2flt-binary
  
   the latest version is attached and has been tested with the different
   Blackfin tuples and Linux/mingw hosts.  fixed a few more bugs to get this
   far ;).
 
  I was sort of hoping to run the two (script and C in parrallel for a while)
  but I am not sure if that will really do more than cause bit-rot in the
  non-default option.
 
 i'll be switching the Blackfin toolchain to the binary one, so there would be 
 testing on both sides if you wanted to keep the uclinux.org side cautious for 
 a little while.  if no one complains, we flip the default configure option.  
 if still no one complains, we drop it.

Unless there is some strong support for dragging the process out, lets assume
for now the 'C' version is the default and the script is a config option until
we drop it down the track.

  Other thans Johns comments about 'C' not being ideal for scripting,  which
  I agree, I am mostly ok. The only thought I had when all the perl compiler
  stuff was getting thrown around was to re-write it in TCL (Yeah I know),
  but the tinytcl library could easily be used to produce a binary tool to
  run the script,  or, run it native of systems with tcl interpreters.
 
 tinytcl can produce native code from a tcl script ?  or you mean the tinytcl 
 executable itself is tiny ?

No,  but you can just encode the script into a small wrapper and invoke the
interpreter on it that way.  Pretty simple IIRC.

  So unless there are any more followups to this thread with better ideas
  or agreement/disagreement, I think it's time to merge it in.
  Give a day or so for and final feedback and I'll run with whatever is the
  latest patch
 
 i can split the patch up into smaller pieces if you like.  atm it adds helper 
 functions like fatal() to stubs.c and then converts elf2flt.c to use those 
 (i found this useful after elf2flt produced the error output cannot open 
 with no indication *which* program could not open).

Your call on splitting it,  might be better for others to follow.

Actually,  do that and I'll apply all those now,  then we can at least tag the
source prior to the C version coming in so if someone wants the old behaviour
it's easy enough to checkout to a tag.

 i'm pretty sure this is the latest patch (taken from blackfin.u.o git), but i 
 have to double check to make sure i dont have anything left on my laptop 
 which 
 i can do tomorrow.

No prob,

Cheers,
Davidm

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH] elf2flt: convert to C

2009-07-06 Thread Michael Schnell

 you have to install not only the shell, but also any helper utilities that 
 the 
 script may invoke.  currently, that means dirname, expr, grep, mktemp, sed, 
 rm, xargs.  see how it gets real ugly real fast ?
 

Is this not what CygWin is all about  ? (ugly but workable)

-Michael
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] How to call user function in Device Driver

2009-07-06 Thread Michael Schnell
Vinod Nagare wrote:
 Dear all,
 I am using uClinux 2.4 on coldfire CPU board.
 I have written driver module for a timer interrupt

You asked the same question in the NIOSForum ? What is this all about ?

-Michael
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH] elf2flt: convert to C

2009-07-06 Thread Mike Frysinger
On Monday 06 July 2009 03:58:49 Michael Schnell wrote:
  you have to install not only the shell, but also any helper utilities
  that the script may invoke.  currently, that means dirname, expr, grep,
  mktemp, sed, rm, xargs.  see how it gets real ugly real fast ?

 Is this not what CygWin is all about  ? (ugly but workable)

cygwin is a pile that we arent interested in touching
-mike


signature.asc
Description: This is a digitally signed message part.
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Re: [uClinux-dev] port to Olimex SAM9-L9260 ( boot fsck: fsck.jffs2:not found message)

2009-07-06 Thread Greg Ungerer

Hi Kris,

On 07/04/2009 02:13 AM, Microbit_P43000 wrote:

Thanks for reviewing.
I will absorb the submit patches issue in the near future.

Typical - with some further effort, I solved the mysterious fsck.jffs2 puzzle, 
it was more
a matter of looking deeper again into the scripts. Once the script has decided 
that e2fsck
indeed is executed, I noticed it uses file system info from fstab...
I did not know however that fsck can't process jffs2 files (in hindsight it 
makes perfect
sense of course since the mtd layers are needed on top of Flash for JFFS2).
To cut a long story short, the root is there as type jffs2 which results in a
concatenation of fsck with jffs2, hence the error, as this executable doesn't 
exist.

Well, at least I'm glad I _did_ solve it myself after all - always has been and 
will be
the best way to learn !
I just need to figure out now how to inhibit that futile fsck call, the start 
up error is
irritating me.. :-)

Finally, I wonder if you could clarify for me Greg : I added a kernel command 
parameter in
(menu)config 'fastboot', but the error still persists ?

From studying the script, I thought fastboot ensured that fsck is not run - at 
least not

on rootcheck ?


Which script are your referring to?
This sounds like it is completely vendor dependant - in other
words whatever Olimex put on there.

Regards
Greg




-Original Message-
From: uclinux-dev-boun...@uclinux.org [mailto:uclinux-dev-boun...@uclinux.org] 
On Behalf

Of

Greg Ungerer
Sent: Friday, 3 July 2009 3:24 PM
To: uClinux development list
Subject: Re: [uClinux-dev] port to Olimex SAM9-L9260 ( boot fsck: fsck.jffs2:not 
found

message)

Hi Kris,

Microbit_P43000 wrote:

Hi all,

I'm new to this list and (uC)linux overall.

However, with some persistence (and great interest in uClinux :-) I got the

uCLinux-dist

(20080808) ported and running smoothly on the Olimex SAM9-L9260 board
(similar to Atmel AT91SAM9260-EK).

I don't know yet how to go about patches or implementing something so my effort 
can be
incorporated into future versions.

The best place to start is to read the documentation in


   linux-2.6.x/Documentation/SubmittingPatches

Regards
Greg


___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev



--

Greg Ungerer  --  Principal EngineerEMAIL: g...@snapgear.com
SnapGear Group, McAfee  PHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] port to Olimex SAM9-L9260 ( boot fsck: fsck.jffs2:not found message)

2009-07-06 Thread Microbit_Ubuntu
On Mon, 2009-07-06 at 18:32 +1000, Greg Ungerer wrote:
 Hi Kris,
 
 On 07/04/2009 02:13 AM, Microbit_P43000 wrote:
  Thanks for reviewing.
  I will absorb the submit patches issue in the near future.
 
  Typical - with some further effort, I solved the mysterious fsck.jffs2 
  puzzle, it was more
  a matter of looking deeper again into the scripts. Once the script has 
  decided that e2fsck
  indeed is executed, I noticed it uses file system info from fstab...
  I did not know however that fsck can't process jffs2 files (in hindsight it 
  makes perfect
  sense of course since the mtd layers are needed on top of Flash for JFFS2).
  To cut a long story short, the root is there as type jffs2 which results in 
  a
  concatenation of fsck with jffs2, hence the error, as this executable 
  doesn't exist.
 
  Well, at least I'm glad I _did_ solve it myself after all - always has been 
  and will be
  the best way to learn !
  I just need to figure out now how to inhibit that futile fsck call, the 
  start up error is
  irritating me.. :-)
 
  Finally, I wonder if you could clarify for me Greg : I added a kernel 
  command parameter in
  (menu)config 'fastboot', but the error still persists ?
  From studying the script, I thought fastboot ensured that fsck is not run 
  - at least not
  on rootcheck ?
 
 Which script are your referring to?
 This sounds like it is completely vendor dependant - in other
 words whatever Olimex put on there.
 
 Regards
 Greg
 
 
 
  -Original Message-
  From: uclinux-dev-boun...@uclinux.org 
  [mailto:uclinux-dev-boun...@uclinux.org] On Behalf
  Of
  Greg Ungerer
  Sent: Friday, 3 July 2009 3:24 PM
  To: uClinux development list
  Subject: Re: [uClinux-dev] port to Olimex SAM9-L9260 ( boot fsck: 
  fsck.jffs2:not found
  message)
  Hi Kris,
 
  Microbit_P43000 wrote:
  Hi all,
 
  I'm new to this list and (uC)linux overall.
 
  However, with some persistence (and great interest in uClinux :-) I got 
  the
  uCLinux-dist
  (20080808) ported and running smoothly on the Olimex SAM9-L9260 board
  (similar to Atmel AT91SAM9260-EK).
 
  I don't know yet how to go about patches or implementing something so my 
  effort can be
  incorporated into future versions.
  The best place to start is to read the documentation in
 
 
 linux-2.6.x/Documentation/SubmittingPatches
 
  Regards
  Greg
 
  ___
  uClinux-dev mailing list
  uClinux-dev@uclinux.org
  http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
  This message was resent by uclinux-dev@uclinux.org
  To unsubscribe see:
  http://mailman.uclinux.org/mailman/options/uclinux-dev
 
 

Hi Greg,


 Which script are your referring to?
 This sounds like it is completely vendor dependant - in other
 words whatever Olimex put on there.

I did figure that out in the interim. In hindsight a bit dumb of me - I
suppose that's the whole idea behind it, its flexibility with runlevels.
Unfortunately it also (can) make it very confusing for newbies like
me... :-)

I checked again - it's rcS.d- S10checkroot.sh, but this is what had me
stumped :


FSCKCODE=0
if [ -f /fastboot ]
then
[ $rootcheck = yes ]  log_warning_msg Fast boot enabled, so
skipping file system check.
rootcheck=no
fi


I couldn't identify another var in the shell that forces fsck after all
(overriding the decision to NOT execute e2fsk).

But in the interim I wondered about building my own minimal rootfs, so
it's a lot clearer (I prefer the 'hands-on' approach, rather than just
reading it).

I installed buildroot, am close to creatin' a small jffs2 image.
Once I got the loose ends right wrt mapping  uboot handover to the
kernel, then I can think/see clearer :-)

Thanks in any case, Greg.


Best regards,
Kris


___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] parallel compiles

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 On Wednesday 06 February 2008, David McCullough wrote:
   is there a reason for forcing -j1 in sub-packages ?  we've dropped the
   -j1 in {lib,user}/Makefile for the DIRS target and generally had great
   success.  you can really feel the difference on an 8 or 16 proc system. 
   i also replaced the -j1 for the _only targets with -j$(HOST_NCPU).
 
  Interesting result,  do you have an measured build times with and
  without the change ?  It would be nice to know,  and if the gains
  justify the fixing of any potentially broken sub dirs :-)
 
 just doing a simple `time make AnalogDevices/BF537-STAMP_default` here ...
  - with NON_SMP_BUILD set: ~8min
  - without NON_SMP_BUILD set (and the -j1 pieces removed): ~1.5min
 pretty consistent here ... +/-10seconds
 
  If you have a patch,  send it in and I'll try it here and see how bad it
  is for our builds,  if it's relatively isolated I am happy to fix up
  some bits and include it,  anything that speeds builds is good,
 
 i'm pushing this for our next-next release (so current development tree).  
 only noticed net-tools failing so far (but i posted a patch for that)
 ---
 Do not force -j1 in subdirs and use -j$(HOST_NCPU) for _only targets.
 
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied.  I needed to fix:

new-wave/user/samba/source/makefile (disable parallel builds)
new-wave/user/pciutils/Makefile (fixed deps)
new-wave/user/nessus/Makefile (fixed deps)

For completeness,  this reduces my complete build time for a large target
from 25.3 minutes to 21.4 minutes,  which was enough to put it in,

Thanks,
Davidm

 ---
 diff --git a/lib/Makefile b/lib/Makefile
 index 0de9193..e9e9372 100644
 --- a/lib/Makefile
 +++ b/lib/Makefile
 @@ -136,16 +136,16 @@ all:
  # the actual dir target
  .PHONY: $(DIRS_y)
  $(DIRS_y):
 - [ ! -d $@ ] || ( touch $@/.sgbuilt_lib  $(MAKE) -j1 -C $@ ) || exit 
 $$?
 + [ ! -d $@ ] || ( touch $@/.sgbuilt_lib  $(MAKE) -C $@ ) || exit $$?
  
  %_only:
 - touch $(@:_only=)/.sgbuilt_lib  $(MAKE) -j1 -C $(@:_only=)
 + touch $(@:_only=)/.sgbuilt_lib  $(MAKE) -j$(HOST_NCPU) -C $(@:_only=)
  
  %_clean:
   $(MAKE) -j1 -C $(@:_clean=) clean; rm -f $(@:_clean=)/.sgbuilt_lib; true
  
  %_romfs:
 - $(MAKE) -j1 -C $(@:_romfs=) romfs
 + $(MAKE) -C $(@:_romfs=) romfs
  
  
 ##
  
 diff --git a/user/Makefile b/user/Makefile
 index d452260..18b8f00 100644
 --- a/user/Makefile
 +++ b/user/Makefile
 @@ -440,16 +440,16 @@ asterisk-addons: mysql asterisk
  miniupnpd : iptables
  
  $(sort $(dir_y) $(dir_p)):  config
 - [ ! -d $@ ] || ( touch $@/.sgbuilt_user  $(MAKE) -j1 -C $@ ) || 
 exit $$?
 + [ ! -d $@ ] || ( touch $@/.sgbuilt_user  $(MAKE) -C $@ ) || exit $$?
  
  %_only:
 - touch $(@:_only=)/.sgbuilt_user  $(MAKE) -j1 -C $(@:_only=)
 + touch $(@:_only=)/.sgbuilt_user  $(MAKE) -j$(HOST_NCPU) -C $(@:_only=)
  
  %_clean:
   $(MAKE) -j1 -C $(@:_clean=) clean; rm -f $(@:_clean=)/.sgbuilt_user; 
 true
  
  %_romfs:
 - $(MAKE) -j1 -C $(@:_romfs=) romfs
 + $(MAKE) -C $(@:_romfs=) romfs
  
  romfs:
   for i in $(sort $(dir_y)) $(dir_p) ; do \
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH] mkconfig: allow people to control default vendor

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 Rather than forcing SECURECOMPUTING as the default vendor, allow people to
 tweak this locally with a config/vendor-default file.  If said file does not
 exist, then we still get SECURECOMPUTING as the default.
 
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied using the following patch, same net outcome :-)

Thanks,
Davidm

 ---
  config/mkconfig |8 +++-
  1 files changed, 7 insertions(+), 1 deletions(-)
 
 diff --git a/config/mkconfig b/config/mkconfig
 index e110aac..71bc31a 100755
 --- a/config/mkconfig
 +++ b/config/mkconfig
 @@ -30,6 +30,12 @@ echo  string
  echodefault 4.0
  echo
  
 +if [ -e config/vendor-default ] ; then
 + vendor=$(cat config/vendor-default)
 +else
 + vendor=SECURECOMPUTING
 +fi
 +
  #
  # Figure out the vendor/products dynamically, allows people to add there
  # own without messin with the config.in file
 @@ -40,7 +46,7 @@ echo comment \Select the Vendor you wish to target\
  echo
  echo choice
  echoprompt \Vendor\
 -echodefault DEFAULTS_SECURECOMPUTING
 +echodefault DEFAULTS_${vendor}
  echo
  
  pfile=/tmp/products.$$
 -- 
 1.6.0.3
 
 ___
 uClinux-dev mailing list
 uClinux-dev@uclinux.org
 http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
 This message was resent by uclinux-dev@uclinux.org
 To unsubscribe see:
 http://mailman.uclinux.org/mailman/options/uclinux-dev
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
Index: config/mkconfig
===
RCS file: /cvs/sw/new-wave/config/mkconfig,v
retrieving revision 1.34
diff -u -r1.34 mkconfig
--- config/mkconfig	5 Jul 2009 23:58:19 -	1.34
+++ config/mkconfig	6 Jul 2009 11:44:00 -
@@ -21,6 +21,15 @@
 	echo
 }
 
+default_vendor()
+{
+	if [ -f config/vendor-default ] ; then
+		fix_name `cat config/vendor-default`
+	else
+		fix_name McAfee
+	fi
+}
+
 #
 
 echo mainmenu \Embedded Linux Configuration\
@@ -40,7 +49,7 @@
 echo
 echo choice
 echo 	prompt \Vendor\
-echo 	default DEFAULTS_MCAFEE
+echo 	default DEFAULTS_`default_vendor`
 echo
 
 pfile=/tmp/products.$$
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

[uClinux-dev] [PATCH 2/7] cleanup build flag handling

2009-07-06 Thread Mike Frysinger
This cleans up the Makefile handling of the different compiler flags such
that it uses standard names across the board as well as unifies the link
method.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 Makefile.in |   24 +---
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 1b192c4..148fd38 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -11,10 +11,10 @@ CC = @CC@
 CPU = @target_cpu@
 TARGET = @target_alias@
 CFLAGS = @CFLAGS@
-INCLUDES = @bfd_include_dir@ @binutils_include_dir@ @zlib_include_dir@
-CPPFLAGS = @CPPFLAGS@
+INCLUDES = -I$(srcdir) @bfd_include_dir@ @binutils_include_dir@ 
@zlib_include_dir@
+CPPFLAGS = @CPPFLAGS@ $(DEFS) $(INCLUDES)
 LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LDLIBS = @LIBS@
 INSTALL = @INSTALL@
 DEFS = @DEFS@ -DTARGET_$(CPU)
 EXEEXT = @EXEEXT@
@@ -23,16 +23,14 @@ OBJEXT = @OBJEXT@
 HOST = @host_alias@
 
 ifneq (,$(findstring mingw32,$(HOST)))
-   LIBS :=  $(LIBS) -lws2_32
+   LDLIBS += -lws2_32
 endif
 
 # force link order under cygwin to avoid getopts / libiberty clash
 ifneq ($(strip $(shell gcc -v 21 | grep cygwin)),)
-   LIBS := -lcygwin $(LIBS)
+   LDLIBS := -lcygwin $(LDLIBS)
 endif
 
-CCFLAGS = $(CFLAGS) $(DEFS) $(INCLUDES)
-
 LDFILE= elf2flt.ld
 ifeq ($(strip $(CPU)),e1)
 SRC_LDFILE= $(srcdir)/$(CPU)-elf2flt.ld
@@ -50,11 +48,15 @@ PROGS = $(PROG_ELF2FLT) $(PROG_FLTHDR)
 
 all: $(PROGS) ld-elf2flt
 
-$(PROG_ELF2FLT): $(srcdir)/elf2flt.c compress.o $(srcdir)/stubs.c
-   $(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
+# We need to declare the link explicitly because make only provides
+# implicit rules when EXEEXT is set to nothing
+link = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+
+$(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
+   $(link)
 
-$(PROG_FLTHDR): $(srcdir)/flthdr.c compress.o
-   $(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
+$(PROG_FLTHDR): flthdr.o compress.o
+   $(link)
 
 ld-elf2flt: $(srcdir)/ld-elf2flt.in
./config.status $@
-- 
1.6.3.3

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[uClinux-dev] [PATCH 1/7] add more common files to gitignore

2009-07-06 Thread Mike Frysinger
Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 .gitignore |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index 12b560b..92ff5f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,15 @@
 # standard patterns
+*.a
 *.o
 *~
 *.orig
 *.rej
 *.patch
+.deps
+
+a.out
+*.gdb
+*.exe
 
 # autotool files
 autom4te.cache
-- 
1.6.3.3

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[uClinux-dev] [PATCH 4/7] rename local ld-elf2flt to ld-elf2flt.sh

2009-07-06 Thread Mike Frysinger
This allows us to drop in a C version without getting filename conflicts.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 .gitignore   |1 +
 Makefile.in  |   13 ++--
 configure|5 +-
 configure.in |3 +-
 ld-elf2flt.in|  239 --
 ld-elf2flt.sh.in |  239 ++
 6 files changed, 250 insertions(+), 250 deletions(-)
 delete mode 100644 ld-elf2flt.in
 create mode 100644 ld-elf2flt.sh.in

diff --git a/.gitignore b/.gitignore
index 92ff5f6..f318c6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ elf2flt
 elf2flt.ld
 flthdr
 ld-elf2flt
+ld-elf2flt.sh
diff --git a/Makefile.in b/Makefile.in
index 8b82809..dbe9110 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,9 +44,10 @@ target_libdir = $(prefix)/$(TARGET)/lib
 
 PROG_ELF2FLT = elf2flt$(EXEEXT)
 PROG_FLTHDR = flthdr$(EXEEXT)
-PROGS = $(PROG_ELF2FLT) $(PROG_FLTHDR)
+PROG_LD_ELF2FLT = ld-elf2flt.sh
+PROGS = $(PROG_ELF2FLT) $(PROG_FLTHDR) $(PROG_LD_ELF2FLT)
 
-all: $(PROGS) ld-elf2flt
+all: $(PROGS)
 
 # We need to declare the link explicitly because make only provides
 # implicit rules when EXEEXT is set to nothing
@@ -58,7 +59,7 @@ $(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
 $(PROG_FLTHDR): flthdr.o compress.o
$(link)
 
-ld-elf2flt: $(srcdir)/ld-elf2flt.in
+ld-elf2flt.sh: $(srcdir)/ld-elf2flt.sh.in
./config.status $@
 
 Makefile: $(srcdir)/Makefile.in
@@ -68,7 +69,7 @@ clean:
-rm -f $(PROGS) *.$(OBJEXT) .deps
 
 distclean: clean
-   -rm -f Makefile config.log config.status config.cache ld-elf2flt
+   -rm -f Makefile config.log config.status config.cache
 
 install:
$(INSTALL) -d $(bindir)
@@ -82,8 +83,8 @@ install:
mv $(bindir)/$(TARGET)-ld$(EXEEXT) 
$(bindir)/$(TARGET)-ld.real$(EXEEXT)
[ -f $(target_bindir)/ld.real$(EXEEXT) ] || \
mv $(target_bindir)/ld$(EXEEXT) 
$(target_bindir)/ld.real$(EXEEXT)
-   $(INSTALL) -m 755 ld-elf2flt $(bindir)/$(TARGET)-ld
-   $(INSTALL) -m 755 ld-elf2flt $(target_bindir)/ld
+   $(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(bindir)/$(TARGET)-ld
+   $(INSTALL) -m 755 $(PROG_LD_ELF2FLT) $(target_bindir)/ld
$(INSTALL) -m 644 $(SRC_LDFILE) $(target_libdir)/$(LDFILE)
 
 sinclude .deps
diff --git a/configure b/configure
index bcd26ae..9f80e47 100755
--- a/configure
+++ b/configure
@@ -4687,7 +4687,7 @@ done
 
 
 
-ac_config_files=$ac_config_files Makefile ld-elf2flt elf2flt.ld
+ac_config_files=$ac_config_files Makefile ld-elf2flt.sh elf2flt.ld
 
 cat confcache \_ACEOF
 # This file is a shell script that caches the results of configure
@@ -5299,7 +5299,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
 Makefile) CONFIG_FILES=$CONFIG_FILES Makefile ;;
-ld-elf2flt) CONFIG_FILES=$CONFIG_FILES ld-elf2flt ;;
+ld-elf2flt.sh) CONFIG_FILES=$CONFIG_FILES ld-elf2flt.sh ;;
 elf2flt.ld) CONFIG_FILES=$CONFIG_FILES elf2flt.ld ;;
 
   *) { { $as_echo $as_me:$LINENO: error: invalid argument: $ac_config_target 
5
@@ -5807,4 +5807,3 @@ if test -n $ac_unrecognized_opts  test 
$enable_option_checking != no; then
 $as_echo $as_me: WARNING: unrecognized options: $ac_unrecognized_opts 2;}
 fi
 
-
diff --git a/configure.in b/configure.in
index eb9733f..199280b 100644
--- a/configure.in
+++ b/configure.in
@@ -182,5 +182,4 @@ AC_SUBST(emit_relocs)
 AC_SUBST(emit_ctor_dtor)
 AC_SUBST(SYMBOL_PREFIX)
 
-AC_OUTPUT(Makefile ld-elf2flt elf2flt.ld)
-
+AC_OUTPUT(Makefile ld-elf2flt.sh elf2flt.ld)
diff --git a/ld-elf2flt.in b/ld-elf2flt.in
deleted file mode 100644
index 91e1ccb..000
--- a/ld-elf2flt.in
+++ /dev/null
@@ -1,239 +0,0 @@
-#!/bin/sh
-#
-# allow us to do flat processing if the flag -Wl,-elf2flt or -elf2flt to
-# the 'C' compiler or linker respectively
-#
-# uses the env. var FLTFLAGS as extra parameters to pass to elf2flt
-# arguments given like -Wl,-elf2flt=-b 1 -v are given before FLTFLAGS
-#
-# Copyright (C) 2002,2003 David McCullough dav...@snapgear.com
-# Copyright (C) 2000, Lineo. dav...@lineo.com
-#
-# This is Free Software, under the GNU Public Licence v2 or greater.
-#
-
-LINKER=$0.real# the original renamed-linker
-ELF2FLT=`expr $0 : '\(.*\)ld'`elf2flt
-NM=`expr $0 : '\(.*\)ld'`nm
-TOOLDIR=`dirname $0`  # let gcc find the tools for us
-OBJCOPY=`expr $0 : '\(.*\)ld'`objcopy
-[ -f $OBJCOPY ] || OBJCOPY=$TOOLDIR/../../bin/@target_al...@-objcopy
-OBJDUMP=`expr $OBJCOPY : '\(.*\)objcopy'`objdump
-LDSCRIPTPATH=@binutils_ldscript_dir@ # and the scripts
-SHARED_ID=
-NEWLDSCRIPT=
-WANT_SHARED=
-
-# check TOOLDIR from prefix/bin/ or prefix/target-alias/bin/
-[ -d ${LDSCRIPTPATH} ] || LDSCRIPTPATH=${TOOLDIR}/../lib
-
-#
-# if we have the elf2flt options, run it
-#
-
-if expr $* : .*-elf2flt.*  /dev/null
-then
-   ARG1=
-   ARG2=
-   OFILE=a.out
-   PIC=
-   SDIRS=
-   LDSCRIPT=
-   FINAL=yes
-   FINAL_ONLY=
-   

[uClinux-dev] [PATCH 7/7] ld-elf2flt.sh: handle more strip/verbose options

2009-07-06 Thread Mike Frysinger
Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 ld-elf2flt.sh.in |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/ld-elf2flt.sh.in b/ld-elf2flt.sh.in
index fc5064c..8d12a45 100644
--- a/ld-elf2flt.sh.in
+++ b/ld-elf2flt.sh.in
@@ -53,7 +53,8 @@ then
 
-move-rodata)
  MOVDAT=y;; # Put rodata in ROM if 
possible
-   -s)   ;;   # Ignore -s (strip)
+   -s|-S|--strip-all|--strip-debug)
+ ;;   # Ignore strip flags
 
-shared-lib-id)
  shift; SHARED_ID=$1;;  # Shared library ID
@@ -81,7 +82,8 @@ then
  ARG1=$ARG1 $1
  ;;
 
-   -v)   ARG1=$ARG1 $1
+   -v|--verbose)
+ ARG1=$ARG1 $1
  VERBOSE=y
  ;;
 
-- 
1.6.3.3

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[uClinux-dev] [PATCH 5/7] unify portability handling and errors

2009-07-06 Thread Mike Frysinger
Unify the duplicated windows and other system fallback logic in stubs.h
and add some fatal() helper functions to standardize the error output when
falling over.  This way we don't end up with obscure error messages with
no idea what util they are coming from.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 Makefile.in |2 +-
 compress.c  |   13 ++---
 elf2flt.c   |  179 +--
 flthdr.c|   29 +++---
 stubs.c |   41 +-
 stubs.h |   38 +
 6 files changed, 130 insertions(+), 172 deletions(-)
 create mode 100644 stubs.h

diff --git a/Makefile.in b/Makefile.in
index dbe9110..b7b6a5c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -56,7 +56,7 @@ link = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 $(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
$(link)
 
-$(PROG_FLTHDR): flthdr.o compress.o
+$(PROG_FLTHDR): flthdr.o compress.o stubs.o
$(link)
 
 ld-elf2flt.sh: $(srcdir)/ld-elf2flt.sh.in
diff --git a/compress.c b/compress.c
index e5d4f17..144c96f 100644
--- a/compress.c
+++ b/compress.c
@@ -13,6 +13,7 @@
 
 #include zlib.h
 #include compress.h
+#include stubs.h
 
 /* Open an (uncompressed) file as a stream.  Return 0 on success, 1 on
error.
@@ -187,15 +188,11 @@ transfer(stream *ifp, stream *ofp, int count)
n = fread_stream(cmd, 1, num, ifp);
if (n == 0)
break;
-   if (fwrite_stream(cmd, n, 1, ofp) != 1) {
-   fprintf(stderr, Write failed :-(\n);
-   exit(1);
-   }
+   if (fwrite_stream(cmd, n, 1, ofp) != 1)
+   fatal_perror(Write failed :-(\n);
if (count != -1)
count -= n;
}
-   if (count  0) {
-   fprintf(stderr, Failed to transfer %d bytes\n, count);
-   exit(1);
-   }
+   if (count  0)
+   fatal(Failed to transfer %d bytes\n, count);
 }
diff --git a/elf2flt.c b/elf2flt.c
index 0ae3ad1..5e9c698 100644
--- a/elf2flt.c
+++ b/elf2flt.c
@@ -44,18 +44,14 @@
 #include unistd.h   /* Userland prototypes of the Unix std system calls*/
 #include fcntl.h/* Flag value for file handling functions  */
 #include time.h
-#ifndef WIN32
-#include netinet/in.h /* Consts and structs defined by the internet system */
-#defineBINARY_FILE_OPTS
-#else
-#include winsock2.h
-#defineBINARY_FILE_OPTS b
-#endif
 
 /* from $(INSTALLDIR)/include   */
 #include bfd.h  /* Main header file for the BFD library*/
 #include libiberty.h
 
+#include stubs.h
+const char *elf2flt_progname;
+
 #if defined(TARGET_h8300)
 #include elf/h8.h  /* TARGET_* ELF support for the BFD library   
 */
 #elif defined(__CYGWIN__) || defined(__MINGW32__) || defined(TARGET_nios) || 
defined(TARGET_nios2)
@@ -153,75 +149,6 @@ int use_resolved = 0; /* If true, get the value of symbol 
references from */
 /* Set if the text section contains any relocations.  If it does, we must
set the load_to_ram flag.  */
 int text_has_relocs = 0;
-const char *progname, *filename;
-int lineno;
-
-int nerrors = 0;
-int nwarnings = 0;
-
-static char where[200];
-
-enum {
-  /* Use exactly one of these: */
-  E_NOFILE = 0, /* progname:  */
-  E_FILE = 1,   /* filename:  */
-  E_FILELINE = 2,   /* filename:lineno:  */
-  E_FILEWHERE = 3,  /* filename:%s:  -- set %s with ewhere() */
-  
-  /* Add in any of these with |': */
-  E_WARNING = 0x10,
-  E_PERROR = 0x20
-};
-  
-void ewhere (const char *format, ...);
-void einfo (int type, const char *format, ...);
-  
-
-void
-ewhere (const char *format, ...) {
-  va_list args;
-  va_start (args, format);
-  vsprintf (where, format, args);
-  va_end (args);
-}
-
-
-void
-einfo (int type, const char *format, ...) {
-  va_list args;
-
-  switch (type  0x0f) {
-  case E_NOFILE:
-fprintf (stderr, %s: , progname);
-break;
-  case E_FILE:
-fprintf (stderr, %s: , filename);
-break;
-  case E_FILELINE:
-ewhere (%d, lineno);
-/* fall-through */
-  case E_FILEWHERE:
-fprintf (stderr, %s:%s: , filename, where);
-break;
-  }
-
-  if (type  E_WARNING) {
-fprintf (stderr, warning: );
-nwarnings++;
-  } else {
-nerrors++;
-  }
-
-  va_start (args, format);
-  vfprintf (stderr, format, args);
-  va_end (args);
-
-  if (type  E_PERROR)
-perror ();
-  else
-fprintf (stderr, \n);
-}
-
 
 asymbol**
 get_symbols (bfd *abfd, long *num)
@@ -443,11 +370,9 @@ dump_symbols(symbols, number_of_symbols);
printf(GOT table contains %d entries (%d bytes)\n,
got_size/sizeof(uint32_t), got_size);
 #ifdef TARGET_m68k
-if (got_size  GOT_LIMIT) {
-   fprintf(stderr, GOT too large: %d bytes (limit = %d bytes)\n,
-   got_size, GOT_LIMIT);
-   exit(1);
- 

[uClinux-dev] [PATCH 3/7] generate dependency info automatically

2009-07-06 Thread Mike Frysinger
Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 Makefile.in |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 148fd38..8b82809 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -65,7 +65,7 @@ Makefile: $(srcdir)/Makefile.in
./config.status $@
 
 clean:
-   -rm -f $(PROGS) *.$(OBJEXT)
+   -rm -f $(PROGS) *.$(OBJEXT) .deps
 
 distclean: clean
-rm -f Makefile config.log config.status config.cache ld-elf2flt
@@ -86,4 +86,6 @@ install:
$(INSTALL) -m 755 ld-elf2flt $(target_bindir)/ld
$(INSTALL) -m 644 $(SRC_LDFILE) $(target_libdir)/$(LDFILE)
 
-
+sinclude .deps
+.deps:
+   $(CC) -MM $(CPPFLAGS) *.c  .deps
-- 
1.6.3.3

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH 1/7] add more common files to gitignore

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 Signed-off-by: Mike Frysinger vap...@gentoo.org

applied,

Thanks,
Davidm


 ---
  .gitignore |6 ++
  1 files changed, 6 insertions(+), 0 deletions(-)
 
 diff --git a/.gitignore b/.gitignore
 index 12b560b..92ff5f6 100644
 --- a/.gitignore
 +++ b/.gitignore
 @@ -1,9 +1,15 @@
  # standard patterns
 +*.a
  *.o
  *~
  *.orig
  *.rej
  *.patch
 +.deps
 +
 +a.out
 +*.gdb
 +*.exe
  
  # autotool files
  autom4te.cache
 -- 
 1.6.3.3
 
 ___
 uClinux-dev mailing list
 uClinux-dev@uclinux.org
 http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
 This message was resent by uclinux-dev@uclinux.org
 To unsubscribe see:
 http://mailman.uclinux.org/mailman/options/uclinux-dev
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH 2/7] cleanup build flag handling

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 This cleans up the Makefile handling of the different compiler flags such
 that it uses standard names across the board as well as unifies the link
 method.
 
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied,

Thanks,
Davidm

 ---
  Makefile.in |   24 +---
  1 files changed, 13 insertions(+), 11 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
 index 1b192c4..148fd38 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -11,10 +11,10 @@ CC = @CC@
  CPU = @target_cpu@
  TARGET = @target_alias@
  CFLAGS = @CFLAGS@
 -INCLUDES = @bfd_include_dir@ @binutils_include_dir@ @zlib_include_dir@
 -CPPFLAGS = @CPPFLAGS@
 +INCLUDES = -I$(srcdir) @bfd_include_dir@ @binutils_include_dir@ 
 @zlib_include_dir@
 +CPPFLAGS = @CPPFLAGS@ $(DEFS) $(INCLUDES)
  LDFLAGS = @LDFLAGS@
 -LIBS = @LIBS@
 +LDLIBS = @LIBS@
  INSTALL = @INSTALL@
  DEFS = @DEFS@ -DTARGET_$(CPU)
  EXEEXT = @EXEEXT@
 @@ -23,16 +23,14 @@ OBJEXT = @OBJEXT@
  HOST = @host_alias@
  
  ifneq (,$(findstring mingw32,$(HOST)))
 -   LIBS :=  $(LIBS) -lws2_32
 +   LDLIBS += -lws2_32
  endif
  
  # force link order under cygwin to avoid getopts / libiberty clash
  ifneq ($(strip $(shell gcc -v 21 | grep cygwin)),)
 -   LIBS := -lcygwin $(LIBS)
 +   LDLIBS := -lcygwin $(LDLIBS)
  endif
  
 -CCFLAGS = $(CFLAGS) $(DEFS) $(INCLUDES)
 -
  LDFILE= elf2flt.ld
  ifeq ($(strip $(CPU)),e1)
  SRC_LDFILE= $(srcdir)/$(CPU)-elf2flt.ld
 @@ -50,11 +48,15 @@ PROGS = $(PROG_ELF2FLT) $(PROG_FLTHDR)
  
  all: $(PROGS) ld-elf2flt
  
 -$(PROG_ELF2FLT): $(srcdir)/elf2flt.c compress.o $(srcdir)/stubs.c
 - $(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
 +# We need to declare the link explicitly because make only provides
 +# implicit rules when EXEEXT is set to nothing
 +link = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 +
 +$(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
 + $(link)
  
 -$(PROG_FLTHDR): $(srcdir)/flthdr.c compress.o
 - $(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
 +$(PROG_FLTHDR): flthdr.o compress.o
 + $(link)
  
  ld-elf2flt: $(srcdir)/ld-elf2flt.in
   ./config.status $@
 -- 
 1.6.3.3
 
 ___
 uClinux-dev mailing list
 uClinux-dev@uclinux.org
 http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
 This message was resent by uclinux-dev@uclinux.org
 To unsubscribe see:
 http://mailman.uclinux.org/mailman/options/uclinux-dev
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH 3/7] generate dependency info automatically

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied,

Thanks,
Davidm

 ---
  Makefile.in |6 --
  1 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
 index 148fd38..8b82809 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -65,7 +65,7 @@ Makefile: $(srcdir)/Makefile.in
   ./config.status $@
  
  clean:
 - -rm -f $(PROGS) *.$(OBJEXT)
 + -rm -f $(PROGS) *.$(OBJEXT) .deps
  
  distclean: clean
   -rm -f Makefile config.log config.status config.cache ld-elf2flt
 @@ -86,4 +86,6 @@ install:
   $(INSTALL) -m 755 ld-elf2flt $(target_bindir)/ld
   $(INSTALL) -m 644 $(SRC_LDFILE) $(target_libdir)/$(LDFILE)
  
 -
 +sinclude .deps
 +.deps:
 + $(CC) -MM $(CPPFLAGS) *.c  .deps
 -- 
 1.6.3.3
 
 ___
 uClinux-dev mailing list
 uClinux-dev@uclinux.org
 http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
 This message was resent by uclinux-dev@uclinux.org
 To unsubscribe see:
 http://mailman.uclinux.org/mailman/options/uclinux-dev
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[uClinux-dev] [ANNOUNCE] uClinux-dist-20090618 release

2009-07-06 Thread Greg Ungerer


Hi All,

I have generated a uClinux-dist-20090618 stable release. You can get it
from the usual place, links from the page:

  http://www.uclinux.org/pub/uClinux/dist/

The files themselves are:

http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20090618.tar.bz2
http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20090618.tar.gz

MD5 checksums are in:

http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20090618.md5

The major change is an upgrade to linux-2.6.29. Lots of other little
updates, as usual.

Regards
Greg




Greg Ungerer  --  Principal EngineerEMAIL: g...@snapgear.com
SnapGear Group, McAfee  PHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com


___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] [PATCH 5/7] unify portability handling and errors

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 Unify the duplicated windows and other system fallback logic in stubs.h
 and add some fatal() helper functions to standardize the error output when
 falling over.  This way we don't end up with obscure error messages with
 no idea what util they are coming from.
 
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied,

Thanks,
Davidm

 ---
  Makefile.in |2 +-
  compress.c  |   13 ++---
  elf2flt.c   |  179 
 +--
  flthdr.c|   29 +++---
  stubs.c |   41 +-
  stubs.h |   38 +
  6 files changed, 130 insertions(+), 172 deletions(-)
  create mode 100644 stubs.h
 
 diff --git a/Makefile.in b/Makefile.in
 index dbe9110..b7b6a5c 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -56,7 +56,7 @@ link = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
  $(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
   $(link)
  
 -$(PROG_FLTHDR): flthdr.o compress.o
 +$(PROG_FLTHDR): flthdr.o compress.o stubs.o
   $(link)
  
  ld-elf2flt.sh: $(srcdir)/ld-elf2flt.sh.in
 diff --git a/compress.c b/compress.c
 index e5d4f17..144c96f 100644
 --- a/compress.c
 +++ b/compress.c
 @@ -13,6 +13,7 @@
  
  #include zlib.h
  #include compress.h
 +#include stubs.h
  
  /* Open an (uncompressed) file as a stream.  Return 0 on success, 1 on
 error.
 @@ -187,15 +188,11 @@ transfer(stream *ifp, stream *ofp, int count)
   n = fread_stream(cmd, 1, num, ifp);
   if (n == 0)
   break;
 - if (fwrite_stream(cmd, n, 1, ofp) != 1) {
 - fprintf(stderr, Write failed :-(\n);
 - exit(1);
 - }
 + if (fwrite_stream(cmd, n, 1, ofp) != 1)
 + fatal_perror(Write failed :-(\n);
   if (count != -1)
   count -= n;
   }
 - if (count  0) {
 - fprintf(stderr, Failed to transfer %d bytes\n, count);
 - exit(1);
 - }
 + if (count  0)
 + fatal(Failed to transfer %d bytes\n, count);
  }
 diff --git a/elf2flt.c b/elf2flt.c
 index 0ae3ad1..5e9c698 100644
 --- a/elf2flt.c
 +++ b/elf2flt.c
 @@ -44,18 +44,14 @@
  #include unistd.h   /* Userland prototypes of the Unix std system calls
 */
  #include fcntl.h/* Flag value for file handling functions  
 */
  #include time.h
 -#ifndef WIN32
 -#include netinet/in.h /* Consts and structs defined by the internet system 
 */
 -#define  BINARY_FILE_OPTS
 -#else
 -#include winsock2.h
 -#define  BINARY_FILE_OPTS b
 -#endif
  
  /* from $(INSTALLDIR)/include   */
  #include bfd.h  /* Main header file for the BFD library
 */
  #include libiberty.h
  
 +#include stubs.h
 +const char *elf2flt_progname;
 +
  #if defined(TARGET_h8300)
  #include elf/h8.h  /* TARGET_* ELF support for the BFD library 
*/
  #elif defined(__CYGWIN__) || defined(__MINGW32__) || defined(TARGET_nios) || 
 defined(TARGET_nios2)
 @@ -153,75 +149,6 @@ int use_resolved = 0; /* If true, get the value of 
 symbol references from */
  /* Set if the text section contains any relocations.  If it does, we must
 set the load_to_ram flag.  */
  int text_has_relocs = 0;
 -const char *progname, *filename;
 -int lineno;
 -
 -int nerrors = 0;
 -int nwarnings = 0;
 -
 -static char where[200];
 -
 -enum {
 -  /* Use exactly one of these: */
 -  E_NOFILE = 0, /* progname:  */
 -  E_FILE = 1,   /* filename:  */
 -  E_FILELINE = 2,   /* filename:lineno:  */
 -  E_FILEWHERE = 3,  /* filename:%s:  -- set %s with ewhere() */
 -  
 -  /* Add in any of these with |': */
 -  E_WARNING = 0x10,
 -  E_PERROR = 0x20
 -};
 -  
 -void ewhere (const char *format, ...);
 -void einfo (int type, const char *format, ...);
 -  
 -
 -void
 -ewhere (const char *format, ...) {
 -  va_list args;
 -  va_start (args, format);
 -  vsprintf (where, format, args);
 -  va_end (args);
 -}
 -
 -
 -void
 -einfo (int type, const char *format, ...) {
 -  va_list args;
 -
 -  switch (type  0x0f) {
 -  case E_NOFILE:
 -fprintf (stderr, %s: , progname);
 -break;
 -  case E_FILE:
 -fprintf (stderr, %s: , filename);
 -break;
 -  case E_FILELINE:
 -ewhere (%d, lineno);
 -/* fall-through */
 -  case E_FILEWHERE:
 -fprintf (stderr, %s:%s: , filename, where);
 -break;
 -  }
 -
 -  if (type  E_WARNING) {
 -fprintf (stderr, warning: );
 -nwarnings++;
 -  } else {
 -nerrors++;
 -  }
 -
 -  va_start (args, format);
 -  vfprintf (stderr, format, args);
 -  va_end (args);
 -
 -  if (type  E_PERROR)
 -perror ();
 -  else
 -fprintf (stderr, \n);
 -}
 -
  
  asymbol**
  get_symbols (bfd *abfd, long *num)
 @@ -443,11 +370,9 @@ dump_symbols(symbols, number_of_symbols);
   printf(GOT table contains %d entries (%d bytes)\n,
   got_size/sizeof(uint32_t), got_size);
  

Re: [uClinux-dev] [PATCH 7/7] ld-elf2flt.sh: handle more strip/verbose options

2009-07-06 Thread David McCullough

Jivin Mike Frysinger lays it down ...
 Signed-off-by: Mike Frysinger vap...@gentoo.org

Applied,

Thanks,
Davidm

 ---
  ld-elf2flt.sh.in |6 --
  1 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/ld-elf2flt.sh.in b/ld-elf2flt.sh.in
 index fc5064c..8d12a45 100644
 --- a/ld-elf2flt.sh.in
 +++ b/ld-elf2flt.sh.in
 @@ -53,7 +53,8 @@ then
  
   -move-rodata)
 MOVDAT=y;; # Put rodata in ROM if 
 possible
 - -s)   ;;   # Ignore -s (strip)
 + -s|-S|--strip-all|--strip-debug)
 +   ;;   # Ignore strip flags
  
   -shared-lib-id)
 shift; SHARED_ID=$1;;  # Shared library ID
 @@ -81,7 +82,8 @@ then
 ARG1=$ARG1 $1
 ;;
  
 - -v)   ARG1=$ARG1 $1
 + -v|--verbose)
 +   ARG1=$ARG1 $1
 VERBOSE=y
 ;;
  
 -- 
 1.6.3.3
 
 ___
 uClinux-dev mailing list
 uClinux-dev@uclinux.org
 http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
 This message was resent by uclinux-dev@uclinux.org
 To unsubscribe see:
 http://mailman.uclinux.org/mailman/options/uclinux-dev
 

-- 
David McCullough,  david_mccullo...@securecomputing.com,  Ph:+61 734352815
McAfee - SnapGear  http://www.snapgear.comhttp://www.uCdot.org
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev