01-21-2011
Quote:
Originally Posted by
Praveen_218
I, however, really couldn't figure out this 0x08048000 location in the realelf output of your example???
I think that's because crt1.o is a library. That stuff gets decided when the final executable is linked and not before.
Quote:
000000000040069a 82 FUNC GLOBAL DEFAULT 12 main
That's because:
Quote:
Originally Posted by Corona688
main's location ... doesn't need to be at anywhere in particular.
There is a tiny bit of code that's at a fixed location. When the executable loads, it doesn't call any functions -- it just jumps immediately to 0x08048000(for linux x86 anyway, won't speak for other architectures) and begins executing whatever's there.
The bit that ends up at the start location is called _start.
The start location might have been even less fixed than I thought, too. 0x08048000 is just where linux x86 begins loading code for x86, not where _start has to be.
Last edited by Corona688; 01-21-2011 at 11:15 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hai
I have installed Linux 7.0 on my system and i have an doubt the
linker
i ran simple hello.c program with gcc compiler
gcc -c hello.c
i want linker to produce the output
so i put on the command line as
ld first.o -lc
but it is not running ver properly
but there is an... (1 Reply)
Discussion started by: rajashekaran
1 Replies
2. Linux
Hi All,
I m new to this group.
I m facing one problem during my linking of CPP code at Linux env.
after compliation i m getting error
"undefined reference to ....."
Please anyone help me to resolve this error.
Regards,
ASR
make: Leaving directory /fwk'
echo g++ -o server ... (1 Reply)
Discussion started by: ASRRAJ
1 Replies
3. Programming
Im trying to compile some code that involves using X-Windows based functions (XDisplayName() and XOpenDisplay() ), however each time I run the compiler, Im getting a problem with the linker.
The linker says that both XDisplayName() and XOpenDisplay() are unresolved text symbols. Is there a... (1 Reply)
Discussion started by: JamesGoh
1 Replies
4. Solaris
AIM- Install Oracle 11g on Solaris using VMWare
Steps
1.Logged on as root
2.Created subfolders à /usr/local/bin & /usr/local/bin/gcc
3.Downloaded gcc & libiconv & unzipped them on my harddrive & burnt them on CD
4.Copied files from CD to /usr/local/bin/gcc
5.Terminal (root) à pkgadd -d... (8 Replies)
Discussion started by: Ackers
8 Replies
5. Solaris
Hi,
I'm confused about the GCC & Linking process could somebody please briefly explain?
I have GCC 3.4.6 installed from SunFreeware. Reading the narrative alongside the package states "It was compiled to use the SUN assembler and loader usually in /usr/ccs/bin if the SUNW developer packages... (1 Reply)
Discussion started by: Celtic_Monkey
1 Replies
6. HP-UX
Hi,
The necessary symbols in a shared library can be exported to the application using linker option --version-script in Linux. The same can be done in Hp-ux using linker option +e. This can also be done by listing all the global symbols with +e in a file with linker option ld -c filename in... (0 Replies)
Discussion started by: roopa_v
0 Replies
7. Programming
Hi,
I do not use the default linker, and instead us another one and pass this argument -Wl,--dynamic-linker=<path to linker> to gcc when compiling. However, what happens if the linker is not under /lib and /lib64 and I am not able to create a symlink to the linker in /lib or /lib64 due to no... (2 Replies)
Discussion started by: Shompis
2 Replies
8. Programming
I've tried to figure out what the linker is smoking in AIX to no avail...so I'm trying to find a little information to see why it's being inconsistent.
I have the following code in a shared library, it doesn't do anything useful, it's just there to exercise functions in a few system libraries:
... (11 Replies)
Discussion started by: DreamWarrior
11 Replies
9. Solaris
Hey guys
I have a solaris 10 OS, with a zone configured. In that zone, I am trying to install an Oracle Client. However, when I run the oracle installer, I get the following error:
ld.so.1: java: fatal: libexpat.so.0: open failed: No such file or directory
ld.so.1: java: fatal:... (2 Replies)
Discussion started by: goodvikings
2 Replies
10. Programming
I have a build where I wish to link against and load a specific version of a library and a different version of the same library is installed on the system. I'm using a -L option to point to the version that I wish to link against but gcc still seems to choose the installed version. Is there a way... (4 Replies)
Discussion started by: Richard Johnson
4 Replies
LEARN ABOUT CENTOS
sdl-config
sdl-config(1) General Commands Manual sdl-config(1)
NAME
sdl-config - script to get information about the installed version of SDL
SYNOPSIS
sdl-config [ --prefix[=DIR] ] [ --exec-prefix[=DIR] ] [ --version ] [ --cflags ] [ --libs ] [ --static-libs ]
DESCRIPTION
sdl-config is a tool that is used to configure and determine the compiler and linker flags that should be used to compile and link pro-
grams, and libraries, and plugins that use SDL. It is also used internally by the m4 macros that are included with SDL.
OPTIONS
--cflags
Print the compiler flags that are necessary to compile a program or library that uses SDL.
--exec-prefix=DIR
If specified, use DIR instead of the installation exec prefix that SDL was build with when computing the output for the --exec-pre-
fix option. This option must be specified before any of the --cflags, and --libs options.
--libs Print the linker flags that are necessary to link a program that uses SDL.
--prefix=DIR
If specified, use DIR instead of the installation prefix that SDL was built with when computing the output for the --prefix, and
--exec-prefix options. This option is also used for the exec prefix if --exec-prefix was not specified. This option must be speci-
fied before any of the --cflags, and --libs options.
--static-libs
Print the linker flags that are necessary to statically link a program that uses SDL.
--version
Prints the currently installed version of SDL on standard output.
EXAMPLES
gcc -o main.o $(sdl-config --cflags) main.c
is how you might use sdl-config to compile a C source file for an executable program.
gcc -o my_app $(sdl-config --libs) main.o util.o
is how you might use sdl-config to link compiled objects into an executable program.
AUTHOR
The Simple DirectMedia Layer (SDL) library was written by Sam Lantinga.
This manual page was written by Branden Robinson, originally for Progeny Linux Systems, Inc., and the Debian Project.
This manual page was modified by Petr Pisar to match original SDL distribution.
SDL 1.2 2013-06-19 sdl-config(1)