On Wed, 3 Aug 2011 17:07:42 -0700, Paul Berry <stereotype...@gmail.com> wrote: > When link_functions.cpp adds a new function to the final linked > program, it needs to add it after any global variable declarations > that the function refers to, otherwise the IR will be invalid (because > variable declarations must occur before variable accesses). The > easiest way to do that is to have the linker emit functions to the > tail of the final linked program. > > The linker used to emit functions to the head of the final linked > program, in an effort to keep callees sorted before their callers. > However, this was not reliable: it didn't work for functions declared > or defined in the same compilation unit as main, for diamond-shaped > patterns in the call graph, or for some obscure cases involving > overloaded functions. And no code currently relies on this sort > order.
Usually we'd swap the order of these around, so that if we have a testcase that would hit this, you don't get extra failures when a bisect lands on patch 1/2.
pgp1UnG58uFg3.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev