grub-devel
[Top][All Lists]
Advanced

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

Re: NEED_REGISTER_FRAME_INFO can be replaced by -static-libgcc


From: Christian Franke
Subject: Re: NEED_REGISTER_FRAME_INFO can be replaced by -static-libgcc
Date: Mon, 19 Apr 2010 17:13:10 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 SeaMonkey/2.0.4

Vladimir 'φ-coder/phcoder' Serbinenko wrote:
Christian Franke wrote:

According to 'gcc -dumpspecs' of Cygwin gcc 4.3.4-3, options '-u
___[de]register_frame_info' are always passed to the linker if
-static-libgcc is not specified. This is Cygwin and MinGW specific: In
the exe startup code these symbols are loaded only if present, so the
DLL must be forced to load first.

As a consequence, the symbols are also set undefined when the GRUB
pre-*.o files are generated with 'ld -r'.

The attached patch works for me with the bzr revision preceding the
NEED_REGISTER_FRAME_INFO fix.

Doesn't it risk linking e.g. __bswapsi2 into every module which uses it
during partial link? It would increase module size on RISC

Partial linking with '-Wl,-r' does never pull any code from libraries. Specifying '-lgcc' has no effect in this case.

Cannot test this on RISC, it is at least true on i686-linux, -freebsd and -cygwin.

--
Regards,
Christian Franke





reply via email to

[Prev in Thread] Current Thread [Next in Thread]