Граф коммитов

23 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 8c10235da0 Bug 1077151 - Always use expandlibs descriptors when they exist. r=mshal
Currently, when there is both an expandlibs descriptor and an actual static
library, expandlibs picks the static library. This has the side effect that
if there are object files in the static library that aren't directly used,
they're dropped when linking, even when they export symbols that would be
exported in the final linked binary.

In most cases in the code base, files are not dropped that way. The most
notable counter-example is xpcomglue, where actually not dropping files
leads to link failure because of missing symbols those files reference
(yes, that would tend to say the glue is broken in some way).

On the opposite side, there is mozglue, which does have both a descriptor
and a static library (the latter being necessary for the SDK), and that
linking as a static library drops files that shouldn't be dropped (like
jemalloc). We're currently relying on -Wl,--whole-archive for those files
not to be dropped, but that won't really be possible without much hassle
in a world where mozglue dependencies live in moz.build land.

Switching expandlibs to use descriptors when they exist, even when there
is a static library (so, the opposite of the current behavior) allows to
drop -Wl,--whole-archive and prepare for a better future. However, as
mentioned, xpcomglue does still require to be linked through the static
library, so we need to make it a static library only.

To achieve that, we make NO_EXPAND_LIBS now actually mean no expandlibs
and use that to build the various different xpcomglues.
2014-10-04 10:33:00 +09:00
Mike Hommey 99fdc4c1d6 Bug 1043869 - Derive build dependencies for programs and libraries from make backend data instead of getting them from expandlibs. r=mshal 2014-07-29 08:59:56 +09:00
Mike Hommey cd488645d5 Bug 1024620 - Use object files next to archives when extracting them at link time, or in a subdirectory. r=ted 2014-06-14 09:08:22 +09:00
Mike Hommey b8333c7486 Bug 648407 - Support expandlibs_exec.py --extract on windows. r=ted 2013-03-17 07:44:57 +01:00
Yati Sagade 999eeb2111 Bug 812179 - Removed hacks for Python < 2.6 from config/ [r=ted] 2013-02-27 22:30:56 +05:30
Mike Hommey bce20e818c Fixup for unit-expandlibs.py after bug 840661 r=me 2013-02-14 09:14:12 +01:00
Mike Hommey e4b0f1bfcc Bug 776035 - Make mozunit even easier to use, and use it in config/tests python unit tests. r=ted 2012-07-25 07:44:08 +02:00
Ed Morley 3d60969c38 Backout eecd3aa199e6 (bug 776305), 62facd5b3da9, c6a0ac7d47d2 & 2d56621abfee (bug 776035), e4e68cf2bd40 (bug 776016), 0853a4d49b4e & 31de6ffdedcb (bug 770426), 43a69b4981f5 (bug 756786) for Windows mochitest crashes 2012-07-25 09:35:32 +01:00
Mike Hommey 985de147d7 Bug 776035 - Make mozunit even easier to use, and use it in config/tests python unit tests. r=ted 2012-07-25 07:44:08 +02:00
Ryan VanderMeulen 5f2a19ee6e Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen 6d6c4efbab Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Mike Hommey 7800030eb8 Bug 757339 - Make expandlibs commands generate dependencies like gcc does. r=ted 2012-06-08 08:59:02 +02:00
Michael Wu d510f25e2b Bug 756746 - Quote paths in linker scripts, r=glandium 2012-05-19 17:02:34 -04:00
Mike Hommey ea3507fa7e Bug 644608 - Implement full dependencies for expandlibs. r=ted
* * *
Bug 644608 - Fixups
2012-03-31 09:24:39 +02:00
Mike Hommey daaf05e1f0 Backout bug 644608 for subtly breaking layout/media build 2012-04-06 13:57:24 +02:00
Mike Hommey 6c18cf3860 Bug 644608 - Implement full dependencies for expandlibs. r=ted 2012-03-31 09:24:39 +02:00
Mike Hommey f72bc25505 Bug 741287 - Make expandlibs_gen.py error out when given a missing file. r=ted 2012-04-06 10:16:25 +02:00
Mike Hommey 4c8468cfa1 Bug 603370 - Avoid Identical Code Folding messing with symbol reordering. r=khuey 2012-03-08 08:56:28 +01:00
Mike Hommey 9648e0fa39 Bug 603370 - Add an option to expandlibs-exec to allow to reorder the symbols when linking. r=khuey 2012-03-08 08:56:27 +01:00
Mike Hommey 7345f7f64e Backout changeset 283408b8d8a3 (bug 603370) 2012-03-08 08:39:17 +01:00
Mike Hommey 34e49862db Bug 603370 part 1 - Add an option to expandlibs-exec to allow to reorder the objects list. r=ted 2012-01-20 09:50:44 +01:00
Mike Hommey 40c393b235 Bug 644081 - Use relative paths as much as possible in expandlibs.py. r=ted 2011-03-25 19:50:29 +01:00
Mike Hommey e0ba81d2eb Bug 584474 part 9 - Replace fakelibs with a more sophisticated library expansion system. r=ted 2011-02-25 15:05:08 +01:00