C++ programming on linux

Info despre configuratia de la build gcc
gcc -v
Paths

http://en.wikipedia.org/wiki/Rpath
http://man7.org/linux/man-pages/man8/ld.so.8.html

A sure-fire way to determine the name of the dynamic linker is to inspect a random binary from the host system by running:
readelf -l /ffp/bin/find | grep interpreter
	Requesting program interpreter: /ffp/lib/ld-uClibc.so.0
readelf -l /bin/find | grep interpreter 
	Requesting program interpreter: /lib/ld-linux.so.3

/ffp/bin/ld --verbose | grep SEARCH
	SEARCH_DIR("/ffp/armv5tel-unknown-linux-uclibceabi/lib"); SEARCH_DIR("/ffp/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
/ffp/tmp/ffp_arm-ffp-linux-uclibcgnueabixxx/bin/ld --verbose | grep SEARCH
	SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib");

gcc -print-libgcc-file-name:
	/usr/local/zy-pkgs/ffproot/ffp/bin/../lib/gcc/arm-ffp-linux-uclibcgnueabi/4.6.2/libgcc.a
gcc tlstest.c -pthread -Wl,--verbose 2>&1 | grep succeeded:
	show all the files successfully opened during the linking
gcc -print-prog-name=ld:
	finds out which standard linker gcc will use; returns only the word:
	ld
pthread
gcc -pthread

Adds support for multithreading with the pthreads library.
This option sets flags for both the preprocessor and linker.

FPU (floting point unit)

https://wiki.debian.org/ArmHardFloatPort#VFP
https://wiki.debian.org/ArmHardFloatPort/VfpComparison#Details_on_GCC_floating-point_options
http://www.keil.com/support/man/docs/armccref/armccref_CIHCJIFE.htm

gcc compiler options

https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#ARM-Options
If you specify -L more than once, the directories are searched in the order specified.
gcc -l links with a library file. -> see Link Options
gcc -L looks in directory for library files.

See also

http://linux.die.net/man/1/ld

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.