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

177 Коммитов

Автор SHA1 Сообщение Дата
Ionut Goldan 153b13d4df Bug 1467803 - Turn off static ctors perf tests for ASan builds r=jmaher
MozReview-Commit-ID: HYk1xKWTXv8

--HG--
extra : rebase_source : aaf0d3b300c8bc6fe7e798182cb6ec035061a706
2018-06-11 13:07:24 +03:00
Tom Ritter 729f85aec8 Bug 1466242 Look for Sprintf.h instead of Assertions.h in the symbolstore test r=glandium
It turns out sometimes (in the LTO+CFI case at least) Assertions.h
will not be present in the opt build, presumably because it was optimized
out.

MozReview-Commit-ID: GB3GIoSdIUK
2018-06-08 09:24:53 +09:00
Mike Hommey 1bf8415dea Bug 1465659 - Take PERFHERDER_EXTRA_OPTIONS into account for static initializer count report. r=nalexander
--HG--
extra : rebase_source : af3296eb541b04217a5676b2ac9eacc20220978f
2018-05-31 12:55:38 +09:00
Mike Hommey 8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Ted Mielczarek ee4ed687a3 bug 1437577 - Upload symbols from try server builds to symbols.mozilla.org instead of symbols.stage.mozaws.net. r=peterbe
The symbol server recently gained the ability to upload symbols from try
to a different prefix in the symbols bucket. If we change the token stored
in the Taskcluster secret `project/releng/gecko/build/level-1/gecko-symbol-upload`
to one that has only "upload try symbols" permissions then we can upload
symbols from try server builds directly to symbols.mo.

MozReview-Commit-ID: HjQclKKXbA3

--HG--
extra : rebase_source : 8afed0bf52565bad513c30a7d5de274b356d6d84
2018-02-28 06:28:01 -05:00
Ted Mielczarek dcdf597820 bug 1255485 - build PROGRAMs directly in dist/bin instead of copying them. r=nalexander
Historically we built all our binaries in directories in the objdir, then
symlinked them into dist/bin. Some binaries needed to be copied instead
so that certain relative path lookups work properly, so we resorted to
sprinkling `NSDISTMODE=copy` around Makefiles.

This change makes it so we build PROGRAMs (not any other sort of targets)
directly in dist/bin instead. We could do the same for our other targets
with a little more work.

There were several places in the tree that were copying built binaries to
some other place and needed fixup to match the new location of binaries.

On Windows pdb files are left in the objdir where the program was
originally linked. symbolstore.py needs to locate the pdb file both to
determine whether it should dump symbols for a binary and also to copy
the pdb file into the symbol package. We fix this by simply looking for
the pdb file in the current working directory if it isn't present next
to the binary, which matches how we invoke symbolstore.py.

MozReview-Commit-ID: 8TOD1uTXD5e
2018-01-10 14:26:12 -05:00
Mike Hommey 710309f74c Bug 1434453 - Use the full changeset in breakpad symbols. r=nalexander
For consistency with when MOZ_SOURCE_CHANGESET is set, and because while
slim, there is a chance of conflict with short forms that don't exist
with the full form that could bite us in the long run.

--HG--
extra : rebase_source : fd7057ec58c6267f3f971a96fdf2854f2cd3d89b
2018-02-01 10:52:58 +09:00
Gurzau Raul bbe856eaf5 Backed out 5 changesets (bug 1255485) for mochitest failures on test/mochitest/test_hangui.xul
Backed out changeset 90b7449882b6 (bug 1255485)
Backed out changeset 5672cf8d324b (bug 1255485)
Backed out changeset ed6dd4aefadb (bug 1255485)
Backed out changeset 0ba36c0feddb (bug 1255485)
Backed out changeset 51af06b6123c (bug 1255485)
2018-01-23 02:01:43 +02:00
Ted Mielczarek 2a410dbcc3 bug 1255485 - build PROGRAMs directly in dist/bin instead of copying them. r=nalexander
Historically we built all our binaries in directories in the objdir, then
symlinked them into dist/bin. Some binaries needed to be copied instead
so that certain relative path lookups work properly, so we resorted to
sprinkling `NSDISTMODE=copy` around Makefiles.

This change makes it so we build PROGRAMs (not any other sort of targets)
directly in dist/bin instead. We could do the same for our other targets
with a little more work.

There were several places in the tree that were copying built binaries to
some other place and needed fixup to match the new location of binaries.

On Windows pdb files are left in the objdir where the program was
originally linked. symbolstore.py needs to locate the pdb file both to
determine whether it should dump symbols for a binary and also to copy
the pdb file into the symbol package. We fix this by simply looking for
the pdb file in the current working directory if it isn't present next
to the binary, which matches how we invoke symbolstore.py.

MozReview-Commit-ID: 8TOD1uTXD5e

--HG--
extra : rebase_source : 9140be949b206bb595d9188ce7e8357347ecd9a9
2018-01-10 14:26:12 -05:00
Tom Prince 24b745390b Bug 1424967: Fix remaining lint error in upload_symbols.py; r=ted.mielczarek
MozReview-Commit-ID: LsvBXNy1SA6

--HG--
extra : rebase_source : a799e7907dd1fe21f3f5a4996b1ee83ba8f314e7
2017-12-12 22:42:23 -07:00
Tom Prince 9d55157b08 Bug 1424967: Pass the correct arguments to log in upload_symbols.py; r=ted.mielczarek
MozReview-Commit-ID: JcicOipqM4Q

--HG--
extra : rebase_source : e472d9e603ff068bf465921f448a158f36bd10dc
2017-12-12 22:26:03 -07:00
Noemi Erli 8e22628788 Backed out 2 changesets (bug 1424967) for f8 lint failures in /builds/worker/checkouts/gecko/toolkit/crashreporter/tools/upload_symbols.py:78:5 on a CLOSED TREE
Backed out changeset 02a7d3b84dcd (bug 1424967)
Backed out changeset e027f4bf3ed2 (bug 1424967)
2018-01-17 02:07:20 +02:00
Tom Prince 507b5088d1 Bug 1424967: Fix remaining lint error in upload_symbols.py; r=ted.mielczarek
MozReview-Commit-ID: LsvBXNy1SA6

--HG--
extra : rebase_source : 265b83adbb75eb644bcd530169a4e32c943008c1
2017-12-12 22:42:23 -07:00
Tom Prince f489e2be2b Bug 1424967: Pass the correct arguments to log in upload_symbols.py; r=ted.mielczarek
MozReview-Commit-ID: JcicOipqM4Q

--HG--
extra : rebase_source : e472d9e603ff068bf465921f448a158f36bd10dc
2017-12-12 22:26:03 -07:00
Mike Hommey 98a80df346 Bug 1430277 - Skip symbolstore.py test when building with --enable-strip. r=mshal
--HG--
extra : rebase_source : 30ef299ee3dbbb1a2079f23436b8cb1e1da1e4e6
2018-01-13 07:17:25 +09:00
Ted Mielczarek ba1efb86a4 bug 1423881 - Upload symbols by sending URL to symbol artifact. r=peterbe
The symbol-upload task currently downloads the symbols-full.zip artifact
from the build task and then uploads it to the symbol server. These zip
files can be very large (>1GB) so we spend a lot of time doing that.

Now that we're uploading to Tecken instead of Socorro, we can instead
just send the URL of the artifact to Tecken's upload API and ask it to
fetch that directly:
https://tecken.readthedocs.io/en/latest/upload.html#upload-by-download-url

This should make the symbol upload task a fair bit faster.

MozReview-Commit-ID: 8HcbgrWYT1O

--HG--
extra : rebase_source : 4e8f7a28c956befb3e291e8be4d41a2b6728e5cd
2017-12-08 16:01:07 -05:00
Tom Prince 5929951297 Bug 1424651: Fix upload_symbols.py documentation; r=ted.mielczarek
MozReview-Commit-ID: 83HDjkcLnkt

--HG--
extra : rebase_source : be4ca306e6a8ab24d7b997850b37830d31de4565
2017-12-10 23:01:05 -07:00
Tom Prince 63d7350f64 Bug 1424651: Re-allow specifying symbol upload symbol token via a file; r=ted.mielczarek
MozReview-Commit-ID: 26hFYFV3O23

--HG--
extra : rebase_source : 25a5abe0cbbf5abe78e22f17d05813bff173032b
2017-12-10 22:58:55 -07:00
Tom Prince 48c6c42626 Bug 1424651: Factor out getting taskcluster secret; r=ted.mielczarek
MozReview-Commit-ID: LxAqPJ6Mnxu

--HG--
extra : rebase_source : 708a34583363b0432e706f5ebb03877ca2f6a1d3
2017-12-10 22:53:47 -07:00
Dorel Luca 2f271a1136 Backed out 4 changesets (bug 1424651) as requested by tomprice r=backout on a CLOSED TREE
Backed out changeset 10ebf78f32bb (bug 1424651)
Backed out changeset 746d96792d18 (bug 1424651)
Backed out changeset 6038fb7b458c (bug 1424651)
Backed out changeset 189fd4f1df41 (bug 1424651)
2017-12-12 06:33:18 +02:00
Tom Prince 5114ba73fd Bug 1424651: Fix upload_symbols.py documentation; r=ted.mielczarek
MozReview-Commit-ID: 83HDjkcLnkt

--HG--
extra : rebase_source : e6b7294fd8a7b6a022803c2b52bdc38847695d45
2017-12-10 23:01:05 -07:00
Tom Prince b63ad1d09a Bug 1424651: Re-allow specifying symbol upload symbol token via a file; r=ted.mielczarek
MozReview-Commit-ID: 26hFYFV3O23

--HG--
extra : rebase_source : e952bfb6c78cba203a98e07e1b5434a0e3a0d9fe
2017-12-10 22:58:55 -07:00
Tom Prince 76b8dc239d Bug 1424651: Factor out getting taskcluster secret; r=ted.mielczarek
MozReview-Commit-ID: LxAqPJ6Mnxu

--HG--
extra : rebase_source : 00e79126852b4459d66579199ade21b5f87cdf20
2017-12-10 22:53:47 -07:00
Ted Mielczarek df253cc5c7 bug 1422740 - change upload-symbols tasks to use in-tree lint image. r=gps
This change makes upload-symbols tasks use run-task and the in-tree lint
image instead of the private upload-symbols image. A prior change changed
the script to get the token it needs from a Taskcluster secret, so it's no
longer necessary to use the private docker image containing the token.

MozReview-Commit-ID: 6QugVB4chE0

--HG--
extra : rebase_source : e13d29c2a88e055247da374cffa9ea153548749d
2017-12-06 06:39:46 -05:00
Ted Mielczarek 2ac06b8c4f bug 1422740 - Change upload_symbols script to fetch token from Taskcluster secrets service. r=gps
This change fixes symbol upload to use a token stored in the Taskcluster
secrets service instead of the token stored in the private Docker image.

Additionally, it changes the script to upload symbols to the Tecken staging
server when run on try so that the upload-symbols tasks can be tested on
try now. In the future there are plans to allow try tasks to upload symbols
to a separate storage area on the production Tecken instance.

MozReview-Commit-ID: BeZGiiwuGp8

--HG--
extra : rebase_source : ee4c680410822e94c3001d07242f69378703659f
2017-12-05 10:18:55 -05:00
Ted Mielczarek bb33981f16 bug 1422735 - Change symbol upload URL from Socorro to Tecken. r=nalexander
MozReview-Commit-ID: BBs6G8dFfPz

--HG--
extra : rebase_source : d67541929441ea057709afbc7e6f12b51a9341cc
2017-12-06 06:28:41 -05:00
Nathan Froyd 53f5554183 Bug 1401226 - don't throw away errors from running `file` in symbolstore.py; r=ted.mielczarek
We want symbolstore.py to fail, preferably loudly, if we can't find the
necessary tools, and throwing away errors here runs counter to that
goal.  Dumper is a base class for Dumper_Win32, where we probably don't
have file(1), but Dumper_Win32 shouldn't be calling RunFileCommand.
2017-11-09 13:52:47 -04:00
David Major 1bdf579613 Bug 1405713 - Reorder sourcepath normalization to fix srcsrv. r=ted
--HG--
extra : rebase_source : c6dcc7e24081e83b60ee4838dc299417a55e5a64
2017-10-10 09:19:00 -04:00
Mike Shal 9e6798ac00 Bug 1402012 - Update buildconfig.py to use PartialConfigEnvironment; r=glandium
By using the PartialConfigEnvironment, the clients of buildconfig will
depend on config.statusd/ files instead of config.status directly.
Clients can access substs and defines using buildconfig.substs['FOO'] or
buildconfig.defines['BAR'], and then collect file-level dependencies for
make using buildconfig.get_dependencies(). All GENERATED_FILES rules
already make use of this because file_generate.py automatically includes
these dependencies (along with all python modules loaded).

As a result of this commit, re-running configure will no longer cause
the world to be rebuilt. Although config.status is updated, no build
steps use config.status directly and instead depend on values in
config.statusd/, which are written with FileAvoidWrite. Since those
files are not official targets according to the make backend, make won't
try to continually rebuild the backend when those files are out of date.
And since they are FileAvoidWrite, make will only re-run dependent steps
if the actual configure value has changed.

As a result of using JSON to load data from the config.statusd
directory, substs can be unicode (instead of a bare string type).
generate_certdata.py converts the subst manually to a string so the
value can be exported to the environment without issue on Windows.

Additionally, patching the buildconfig.substs dict no longer works, so
the unit-symbolstore.py test was modified to patch the underlying
buildconfig.substs._dict instead.

The other files that needed to be modified make use of all the defines
for the preprocessor. Those that are used during 'mach build' now use
buildconfig.defines['ALLDEFINES'], which maps to a special
FileAvoidWrite file generated for the PartialConfigEnvironment.

MozReview-Commit-ID: 2pJ4s3TVeS8

--HG--
extra : rebase_source : d6bb0208483f9f043e7be1b36907ca13243985f8
2017-08-24 22:52:01 -04:00
Ted Mielczarek 6121dea7c8 bug 1392312 - fix filename mapping in symbolstore.py on Windows. r=chmanchester
symbolstore.py processes filenames in FILE lines of symbol files to encode
information about the source repository they came from, or to mark
known generated source files. It also reads the dist/include install
manifest so it can map header files from there back to their source locations.

These mappings were broken on Windows because symbolstore.py first passes
filenames into `FixFilenameCase`, which calls `GetFinalPathNameByHandleW`,
which breaks things in two ways:
1) It returns paths with an uppercase drive letter, and source paths from
   elsewhere have a lowercase drive letter.
2) It resolves symlinks, and on Taskcluster Windows builds the whole build
   is done within a symlinked directory so paths directly from the srcdir
   and objdir won't match those canonicalized paths.

This patch adds a `normpath` function to symbolstore.py and moves the
contents of `FixFilenameCase` into it on Windows, and just makes it
an alias for `os.path.normpath` everywhere else. It then uses it everywhere
we deal with paths that will be compared against source file paths from symbol
files so that all paths are canonicalized the same and we can do simple
string matching from there.

Additionally, this patch adds a check to the functional test to verify
that header files from dist/include are correctly mapped to the source
repository. Unfortunately there is still not a test for generated files
because they only appear in the libxul symbol file, and dumping symbols
from libxul is too slow to invoke as part of a unit test.

MozReview-Commit-ID: Dx3z1BZcIvc

--HG--
extra : rebase_source : 80179bbea58a804344a56ef27f438ada76e7fe77
2017-08-23 13:14:37 -04:00
Ted Mielczarek 865f3f2c5e bug 1259832 - replace generated source file names in symbol files. r=chmanchester
Now that builds are uploading generated source files to an S3 bucket,
symbolstore.py can alter the FILE lines in symbol files to record the
URLs where those generated source files can be found. We currently record
files from the hg repository as `hg:<repo>:<path>:<revision>`, so here we
record generated files as `s3:<bucket>:<path>:` and expect that Socorro
will map that to the S3 bucket in a sensible way.

This patch does not change source server indexing, which allows Microsoft
debuggers to fetch source files for a build. That will be handled in a
followup.

MozReview-Commit-ID: 1g14smF0fo8

--HG--
extra : rebase_source : a5b42251278e6ecc4d57e374c423738de325f8e5
extra : source : 7781a37a4db0378b06ef3ad377e18be37e63ad83
2017-08-09 14:36:52 -04:00
Ted Mielczarek 90080d65c7 bug 1388820 - remove repo manifest support from symbolstore.py. r=chmanchester
MozReview-Commit-ID: LbDc6YKGpqX

--HG--
extra : rebase_source : 780467dc43d6f001946310879e71a6400e005eef
extra : source : 6b4f89f34b11bcb987511cdb6923920d2596f001
2017-08-09 13:36:07 -04:00
Wes Kocher 729a622270 Backed out changeset 6b4f89f34b11 (bug 1388820) for apparently scheduling nightlies on every push/platform a=backout
MozReview-Commit-ID: GtNGyHS3m7f
2017-08-16 17:26:21 -07:00
Wes Kocher 749da2f3e6 Backed out 4 changesets (bug 1259832) for apparently scheduling nightlies on every push/platform a=backout
Backed out changeset 7781a37a4db0 (bug 1259832)
Backed out changeset 73bf88110b38 (bug 1259832)
Backed out changeset 14d18d7cf454 (bug 1259832)
Backed out changeset a02695cbf576 (bug 1259832)

MozReview-Commit-ID: 4Tf6jBcvKLq
2017-08-16 17:26:08 -07:00
Ted Mielczarek 25150baea1 bug 1259832 - replace generated source file names in symbol files. r=chmanchester
Now that builds are uploading generated source files to an S3 bucket,
symbolstore.py can alter the FILE lines in symbol files to record the
URLs where those generated source files can be found. We currently record
files from the hg repository as `hg:<repo>:<path>:<revision>`, so here we
record generated files as `s3:<bucket>:<path>:` and expect that Socorro
will map that to the S3 bucket in a sensible way.

This patch does not change source server indexing, which allows Microsoft
debuggers to fetch source files for a build. That will be handled in a
followup.

MozReview-Commit-ID: 1g14smF0fo8

--HG--
extra : rebase_source : 78344e2435cc2379d4b202b71851d1112236066b
2017-08-09 14:36:52 -04:00
Ted Mielczarek 3237c93073 bug 1388820 - remove repo manifest support from symbolstore.py. r=chmanchester
MozReview-Commit-ID: LbDc6YKGpqX

--HG--
extra : rebase_source : 09a253226fbd8dd25a4bdd6f3337dea7df109fa1
2017-08-09 13:36:07 -04:00
Ralph Giles 8032440a7b Bug 1385503 - Correct rust srcdir url again. r=gps
The 'src' subdir needs to be part of the path *after*
the blob/commit_id section of the url, so we need to
no strip it from the prefix when we match.

MozReview-Commit-ID: 9HA3a7d8kh4

--HG--
extra : rebase_source : 6a558c06085844cd7b664c1c65a6e5023ecbb423
2017-07-28 17:04:39 -07:00
Chris Manchester 5cb678d0e7 Bug 1304042 - Fail the build if running dsymutil fails. r=mshal
MozReview-Commit-ID: 9ROIRpuoVGR

--HG--
extra : rebase_source : 4fc696f8b658a0a494d4ae9690e8a7cd5b6e3554
2017-07-13 11:57:50 -07:00
Ralph Giles 50b5412f42 Bug 1379382 - Correct rust srcdir url. r=gps
We were prefix-matching the rust srcdir when hyperlinking
symbols, but then appending the relative source path to
the top level repo url, resulting in broken links.

Instead, link to the srcdir url at github.

MozReview-Commit-ID: 33tSMM96Vie

--HG--
extra : rebase_source : 13d5638d4029e40077c0ba8de34a64d3ff9e92be
2017-07-08 08:00:27 -07:00
Ted Mielczarek e9db7838e4 bug 1275424 - hardcode Rust source paths in symbolstore.py. r=gps
This gives us source file names with repository info in our generated
symbol files, so that crash reports on crash-stats can link to the
correct source files for files from the Rust standard library.

I've hardcoded the source paths that the Rust project uses, which is
not my favorite thing, but there's no simple way to get this information
otherwise.

MozReview-Commit-ID: 6SeaMqH8xfc

--HG--
extra : rebase_source : 227a52db42b3f86378d744e68b4d88d2d8ba9757
2017-06-23 16:19:49 -04:00
Chris Manchester 3258c3b97a Bug 1353090 - Remove code handling multiple files from symbolstore.py r=ted
MozReview-Commit-ID: 2vOP8iqYDW7

--HG--
extra : rebase_source : 62d858d83d9f0aa430a19c5402b0a76f427f4eb0
2017-04-26 22:32:27 -07:00
Chris Manchester dfe40d496a Bug 1353090 - Convert `output` to use `print` in symbolstore.py r=ted
MozReview-Commit-ID: 4eoDTf9lX5w

--HG--
extra : rebase_source : 359e83e393ef2572ad52389ede6b85bdfc182265
2017-04-26 22:32:26 -07:00
Chris Manchester 432c408057 Bug 1337986 - Remove code handling parallelism from symbolstore.py r=ted
This removes handling of dumping symbols in parallel from symbolstore.py
and updates unit tests.
A prior commit made symbolstore.py handle a single file at a time, leaving
concurrency to be handled by make, so this is no longer needed.

MozReview-Commit-ID: C7IHdVHHjRH

--HG--
extra : rebase_source : 4e90ca5d5f64fe0b1cd29a08d5c262dc0fdfcc33
2017-04-10 10:27:49 -07:00
Chris Manchester 5c47bb8d2e Bug 1337986 - Dump symbols during the compile tier. r=ted
This commit moves symbol dumping to the compile tier, to be run via "syms"
targets. Tracking files are used for the sake of incremental builds, because
dump_syms may genearate multiple outputs whose paths are not known ahead of
time.

Minimal changes to symbolstore.py are made here. More extensive
simplifications will be made in a future commit on the basis of symbolstore.py
handling one file at a time.

MozReview-Commit-ID: 3mOP8A6Y7iM

--HG--
extra : rebase_source : bfe97afcdfc05b9e79f01577701c83e8b00eb4e9
2017-02-10 08:34:08 -08:00
Chris Manchester 16f0994a36 Bug 1337986 - Modify symbolstore.py to operate on dll/exe files. r=ted
This will be more convenient when we dump symbols from the compile tier.

MozReview-Commit-ID: Ltjq8ai5j0m

--HG--
extra : rebase_source : bcb059879b1dbadb2e84caa41247fd129629eb37
2017-04-10 10:27:49 -07:00
Mike Shal e465a1480d Bug 1342233 - Fix unit-symbolstore.py in cross-OSX builds; r=ted
MozReview-Commit-ID: IElpHBVxDok

--HG--
extra : rebase_source : e805527da89e7262bad8019dfed901b7e9737320
2017-03-01 10:44:53 -05:00
Mike Shal 1d7ddb723e Bug 1342233 - Skip hg test in unit-symbolstore.py for git users; r=ted
MozReview-Commit-ID: DQDBsD7q9Wf

--HG--
extra : rebase_source : f072767828ea367047ef2f4bc82b1fda8d172d51
2017-03-02 15:12:42 -05:00
Ted Mielczarek 72abec04a5 bug 1329320 - replace makecab with rust-makecab in symbolstore. r=gps
It turns out that running makecab to compress PDB files takes a significant
amount of time in the buildsymbols step. I wrote an implementation of
makecab in Rust that implements only the subset of features we use and
it's significantly faster:
https://github.com/luser/rust-makecab

This patch adds a makecab check to moz.configure, adds a release build of
the makecab binary to the Windows tooltool manifests, points the build at
it from mozconfig.win-common, and changes symbolstore.py to use MAKECAB
from substs instead of calling `makecab.exe` directly.

MozReview-Commit-ID: 76FHLIZFCXS

--HG--
extra : rebase_source : af4cf2e4db4607ec9329b2811cc0175d3e113b66
2017-01-06 05:57:10 -05:00
Mike Hommey 732da71ec2 Bug 1324650 - Do not fail unit-symbolstore when the symbol file contains more than one entry for nsBrowserApp.cpp. r=ted
In some corner cases, there can be more than one entry for
nsBrowserApp.cpp for the firefox executable.

--HG--
extra : rebase_source : c0ff78aad7f43ed60cb0ac7413a01ba005e49dbc
2016-12-20 14:36:05 +09:00
Ted Mielczarek 410b1ffbc6 bug 1316329 - follow symlinks for srcdir path in symbol dumping on windows. r=gps
If the srcdir is in a path containing a symlink on Windows, when
`FixFilenameCase` calls `GetFinalPathNameByHandleW` to normalize the case of
a source file it will get a path to the file with the symlink resolved.
This breaks our "is this file in the source repository" check.

This patch makes the code call `FixFilenameCase` for any srcdir arguments
that are passed to the script, so any symlinks will be resolved there
and the prefix matching will work.

MozReview-Commit-ID: 2UibW9XYWoK

--HG--
extra : rebase_source : 199a36f6109693ec72a9661a02147aedbbc35158
2016-11-22 14:41:57 -05:00