[uClinux-dev] application size limitation?

David McCullough davidm at snapgear.com
Sun Mar 30 18:35:30 EST 2003


Jivin Van Rafelghem, Dominique lays it down ...
> Thanks for the info David,
> 
> I am not 100% clear on all the compiler and linker switches.  Is there a
> place where I can find a description?  I think the -msep-data linker switch
> is used for XIP which from my understanding is used for executing out of ROM
> or FLASH.

Is is used for execute in place,  this can be from ROM or RAM depending
on your setup.  Either way it can save you a lot of memory,  however it
does put some small restrictions on your apps.

> Correct me if I am wrong.  Since I will be executing out of RAM I
> guess I don't need this switch.

You don't need this switch on any platform,  it is there to help reduce
the memory requirements of an applications by allowing the "code" to be
shared across multiple invocations.

If you need truly gigantic apps,  then you probably don't care about
RAM,  just turn this off for the entire build.  In the latest
uClinux-dist you can do this by adding:

	DISABLE_XIP         = 1
	DISABLE_SHARED_LIBS = 1
	DISABLE_MOVE_RODATA = 1

To your config.arch,  otherwise, in older distros just remove any
occurance of msep-data or -mid-shared-library from your config.arch,
make clean and rebuild,

Cheers,
Davidm

-- 
David McCullough:    Ph: +61 7 3435 2815  http://www.SnapGear.com
davidm at snapgear.com  Fx: +61 7 3891 3630  Custom Embedded Solutions + Security



More information about the uClinux-dev mailing list