This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Where is your initialized data segment? What address does "data' begin at? What address does other things begin at?
sections { .data 0x11110000 : AT 0x8888000 { .... } }
If Dan's instinct is good (as it often is), I'd suggest that the issue might be found in the linker script -- you might need a special one to solve this problem. I'd start by running the -M (map) option on 'ld' ... verify if you're really getting 800 MB+ of zeros. The map just may point the way to what you'd need to do to the linker script. Assuming we're dealing with ELF, there are ways to get zeroed pages loaded without requiring copies of those pages in the executable. You'll need to find out which control section is holding all those zeroes: hopefully it's distinct from all the others. 'readelf' may also be of help to you (again, assuming ELF format).
Cheers, --Jim--
Alex XT.Yan wrote:hi,
I compiled vivi(arm bootloader of Samsung) with crosstools 0.42.
After some Makefile and header hacks like "short-load-bytes" and
"no-fpu", the compilation finishs normally, but the size of the output
executable (vivi) is 871MB which should be more or less than 70k~!
'ls -l' and 'du -sh' totally make me confused:
$ ls -l vivi
-rwxrwxr-x 1 yanxt yanxt 871430121 Jul 6 21:53 vivi
$ du -sh vivi
72K vivi
the needed time for transferring it convices me that 'ls -l' seems
to tell the truth.
Dan suggested that it's mostly zeroes, cos it's asked to be loaded high (or that's the default), and it had to pad with zeroes.
Anyone can kindly convince me that please in the attached Makefile?
I can't figure it out yet.
How come this weird thing takes place?
Any advice is appreciated in advance.
Regards,
------------------------------------------------------------------------
Subject: Re: crosstools_0.42 builds arm bootloader executable size > 800 MB From: "Dan Kegel" <dank06@kegel.com> Date: Fri, 6 Jul 2007 10:25:53 -0700 To: YanXT <xiaotian.yan@gmail.com>
To: YanXT <xiaotian.yan@gmail.com>
Delivered-To:
xiaotian.yan@gmail.com
Received:
from gmail-pop.l.google.com [209.85.199.111] by localhost with POP3 (fetchmail-6.3.2) for <YanXT@localhost> (single-drop); Sat, 07 Jul 2007 10:00:00 +0800 (CST)
Received:
by 10.114.157.2 with SMTP id f2cs916620wae; Fri, 6 Jul 2007 10:25:53 -0700 (PDT)
Received:
by 10.115.61.1 with SMTP id o1mr824825wak.1183742753630; Fri, 06 Jul 2007 10:25:53 -0700 (PDT)
Received:
by 10.114.171.20 with HTTP; Fri, 6 Jul 2007 10:25:53 -0700 (PDT)
Message-ID:
<a71bd89a0707061025k1f1b1933v722b8490a8baeac0@mail.gmail.com>
Sender:
daniel.r.kegel@gmail.com
In-Reply-To:
<56857a6a0707060903p5c4bbd68kc37fe5d8d6ecaf0d@mail.gmail.com>
MIME-Version:
1.0
Content-Type:
text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding:
7bit
Content-Disposition:
inline
References:
<20070706142215.GA5434@bupt-bcnl.com> <56857a6a0707060801x7a0a663am72c1da45d7a50f6d@mail.gmail.com> <a71bd89a0707060824seb90c77h420191502c9d880a@mail.gmail.com> <56857a6a0707060847i7e5d7efcn98c19b7066a2772e@mail.gmail.com> <56857a6a0707060903p5c4bbd68kc37fe5d8d6ecaf0d@mail.gmail.com>
X-Google-Sender-Auth:
89092c25de65dd75
Yeah, sounds like it's mostly zeroes. I bet you asked for it to be loaded high (or that's the default), and it had to pad with zeroes.
I've never dealt with this, you'll have to ask somebody who knows more about linker maps, objcopy, and all that.
Try joining the mailing list, maybe it will accept your posts. Or try posting on the binutils mailing list, maybe?
On 7/6/07, YanXT <xiaotian.yan@gmail.com> wrote:
size: vivi.HY: File format not recognized (vivi.HY is shipped with reference arm board) $size vivi-elf text data bss dec hex filename 51007 2828 10620 64455 fbc7 vivi-elf the possibility that there are a lot of zero bytes in it is big: $tar cjvf vivi-tbz2 vivi $ls -l vivi-tbz2 -rw-rw-r-- 1 yanxt yanxt 28406 Jul 6 23:52 vivi-tbz2
it's stripped according to the Makefile: /usr/local/arm/2.95.3/bin/arm-linux-nm -v -l vivi-elf > vivi.map /usr/local/arm/2.95.3/bin/arm-linux-objcopy -O binary -S vivi-elf vivi -R .comment -R .stab -R .stabstr
------------------------------------------------------------------------
-- For unsubscribe information see http://sourceware.org/lists.html#faq
-- For unsubscribe information see http://sourceware.org/lists.html#faq
-- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |