Re: Calling constructor functions manually

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dnia 14 Października 2010, 22:42, Cz, Ian Lance Taylor napisał:
> "Michał Bieliński" <michal@xxxxxxxxxxx> writes:
>
>> I am linking C object files which rely on functions with constructor
>> attribute with my program. Ordinarily gcc generates code calling all
>> such
>> routines before main gets control. However, my program is not written in
>> C and such code is not included. Resulting executable works but linked
>> objects refuse to cooperate because their initializing constructors were
>> not called. Is there a way to manually run these functions?
>
> In general, yes.  However, the precise details depend greatly on your
> target.  So tell us more.

My aim is to combine GNU Prolog with Free Pascal. Some gprolog object
files use constructors. Unfortunately these are declared static
disallowing me to call them by name.

Is any other information needed?

> In general you will want to link crtbegin.o before all your .o files and
> crtend.o after them.  Then generally the .init section should contain
> what you need.

Post-processing link.res script created by fpc and adding crtbegin.o as
first item and crtend.o as last works. It compiles but I still need some
way of executing stuff in .init section.

-- 
Michal Bielinski



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux