The runtime loader now reads a part of the .comment section of each

shared object to find out the GCC version it has been compiled with.
This is not an exact science, since we've got the version string for
every single object file that has been linked in, but my heuristic seems
to be good enough.

Having the gcc version at hand will allow for two features: Enabling
work-arounds for old executables (like the type info problem in BeOS
apps), and automatically selecting the right set of libraries in a mixed
gcc 2/gcc 4 environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24534 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-03-23 17:01:42 +00:00
parent e1656f01ae
commit 3498280968
2 changed files with 185 additions and 1 deletions
@@ -39,6 +39,12 @@ typedef struct image_t {
int32 ref_count;
uint32 flags;
struct {
int major;
int middle;
int minor;
} gcc_version;
addr_t entry_point;
addr_t init_routine;
addr_t term_routine;