From: Andrew Lunn <andrew@lunn.ch>
To: Evgeniy Dushistov <dushistov@mail.ru>
Cc: Dave Milter <davemilter@gmail.com>,
ecos-discuss@ecos.sourceware.org,
ecos-devel@ecos.sourceware.org
Subject: Re: [ECOS] raw output to serial port and dataflash + legacy API questions
Date: Mon, 11 May 2009 17:57:00 -0000 [thread overview]
Message-ID: <20090511175743.GA4940@lunn.ch> (raw)
In-Reply-To: <20090511172638.GA27330@rain>
> For example, you write this code in some ".c" file:
>
> __externC cyg_spi_at91_device_t spi_dataflash_dev0;
>
> CYG_DATAFLASH_FLASH_DRIVER( cyg_eb55_dataflash,
> &spi_dataflash_dev0,
> 0x08000000,
> 0,
> 16 );
>
> this file contains only definitions of variables,
> no code. For some reasons linker will remove
> such kind of object file in the resulting binary, and also all the stuff like dataflash module, because
> without this file there are no links to dataflash module functions.
>
> I suppose, this is bug either in build system of ecos, or in arm-eabi toolchain.
>
> The workaround for this issue, that I used, is simple. I add after
> CYG_DATAFLASH_FLASH_DRIVER the dummy function:
>
> CYG_DATAFLASH_FLASH_DRIVER( cyg_eb55_dataflash,
> 0,
> 16 );
>
> +void cyg_eb55_dataflash_func(int p)
> +{
> +}
> +
If something is not referenced, the linker will throw it away. It is
unwanted bloat.
To stop this, you need to let the build system know. eg for a serial
driver in the CDL:
compile -library=libextras.a at91_serial.c
Andrew
next prev parent reply other threads:[~2009-05-11 17:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2a382c6e0905070357u76683dacqfe8bd885c9260671@mail.gmail.com>
2009-05-11 17:44 ` Evgeniy Dushistov
2009-05-11 17:57 ` Andrew Lunn [this message]
2009-05-11 18:35 ` Evgeniy Dushistov
2009-05-11 19:04 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090511175743.GA4940@lunn.ch \
--to=andrew@lunn.ch \
--cc=davemilter@gmail.com \
--cc=dushistov@mail.ru \
--cc=ecos-devel@ecos.sourceware.org \
--cc=ecos-discuss@ecos.sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).