This is the mail archive of the crossgcc@sources.redhat.com 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]

Re: Static linked cross tools


So the question is:
Why do you want statically linked tools? Do you need to run the tools on
different systems with different libraries, or any other reason to not use
dynamic libraries *to run the tools in the toolchain*? Or do you only need
your crosstools to generate statically linked programs?


We want to build the executables statically linked so they can run on different workstations. Typically we put the development tools on a server and everyone uses the same toolchain. This does not mean that we do not want to create dynamically linked programs.

- For statically linked crosstools, but still the ability to build
dynamically linked targets:

BINUTILS_MAKE_OPTIONS="LDFLAGS=-all-static"
# I would advice against using BINUTILS_EXTRA_CONFIG since it's issued
# to configure - we don't need that
make $BINUTILS_MAKE_OPTIONS all

I believe I tried this and it did not work. I will try again. Perhaps there was something else wrong with my environment.

GCC_MAKE_OPTIONS="LDFLAGS=-static"
# final gcc only
make $GCC_MAKE_OPTIONS all

GCC didn't seem to mind building as per the new scripts. The problem was building BINUTILS.

- To generate a dynamically linked toolchain, only suited to generate static
binaries:
BINUTILS_EXTRA_CONFIG="--disable-shared"


GLIBC_EXTRA_CONFIG="--disable-shared"

GCC_EXTRA_CONFIG="--disable-shared"
(this is untested by me)


I do not believe the above are mutually exclusive, you can probably use both
to generate a statically linked toolchain that can only generate statically
linked targets.


I have little time to spare on my hands now, I'm sorry I can't give you any
tested configurations. I have generated several statically linked toolchains
by hand, using above sequence, though.


What version of BINUTILS have you built?

BTW: I could not find instructions for statically linking BINUTILS or GCC. Is there a website that explains these options?

Thanks


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]