Merge latest d15-3 fixes into xcode9 (#2660)
* [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027
This commit is contained in:
Родитель
a825f5e73e
Коммит
6e918098da
|
@ -1 +1 @@
|
|||
Subproject commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34
|
||||
Subproject commit 14f2c814ccc4b98f11dae3074ba6a081956e9079
|
|
@ -33,6 +33,59 @@ namespace Xamarin
|
|||
[TestFixture]
|
||||
public class MTouch
|
||||
{
|
||||
[Test]
|
||||
//[TestCase (Profile.iOS)] // tested as part of the watchOS case below, since that builds both for iOS and watchOS.
|
||||
[TestCase (Profile.tvOS)]
|
||||
[TestCase (Profile.watchOS)]
|
||||
public void Profiling (Profile profile)
|
||||
{
|
||||
using (var mtouch = new MTouchTool ()) {
|
||||
var tmpdir = mtouch.CreateTemporaryDirectory ();
|
||||
MTouchTool ext = null;
|
||||
if (profile == Profile.watchOS) {
|
||||
mtouch.Profile = Profile.iOS;
|
||||
|
||||
ext = new MTouchTool ();
|
||||
ext.Profile = profile;
|
||||
ext.Profiling = true;
|
||||
ext.SymbolList = Path.Combine (tmpdir, "extsymbollist.txt");
|
||||
ext.CreateTemporaryWatchKitExtension ();
|
||||
ext.CreateTemporaryDirectory ();
|
||||
mtouch.AppExtensions.Add (ext);
|
||||
ext.AssertExecute (MTouchAction.BuildDev, "ext build");
|
||||
} else {
|
||||
mtouch.Profile = profile;
|
||||
}
|
||||
mtouch.CreateTemporaryApp ();
|
||||
mtouch.CreateTemporaryCacheDirectory ();
|
||||
|
||||
mtouch.DSym = false; // faster test
|
||||
mtouch.MSym = false; // faster test
|
||||
mtouch.NoStrip = true; // faster test
|
||||
|
||||
mtouch.Profiling = true;
|
||||
mtouch.SymbolList = Path.Combine (tmpdir, "symbollist.txt");
|
||||
mtouch.AssertExecute (MTouchAction.BuildDev, "build");
|
||||
|
||||
var profiler_symbol = "_mono_profiler_startup_log";
|
||||
|
||||
var symbols = File.ReadAllLines (mtouch.SymbolList);
|
||||
Assert.That (symbols, Contains.Item (profiler_symbol), profiler_symbol);
|
||||
|
||||
symbols = ExecutionHelper.Execute ("nm", MTouch.Quote (mtouch.NativeExecutablePath), hide_output: true).Split ('\n');
|
||||
Assert.That (symbols, Has.Some.EndsWith (" T " + profiler_symbol), $"{profiler_symbol} nm");
|
||||
|
||||
if (ext != null) {
|
||||
symbols = File.ReadAllLines (ext.SymbolList);
|
||||
Assert.That (symbols, Contains.Item (profiler_symbol), $"{profiler_symbol} - extension");
|
||||
|
||||
symbols = ExecutionHelper.Execute ("nm", MTouch.Quote (ext.NativeExecutablePath), hide_output: true).Split ('\n');
|
||||
Assert.That (symbols, Has.Some.EndsWith (" T " + profiler_symbol), $"{profiler_symbol} extension nm");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FatAppFiles ()
|
||||
{
|
||||
|
|
|
@ -119,6 +119,8 @@ namespace Xamarin
|
|||
public string AotOtherArguments;
|
||||
public string [] LinkSkip;
|
||||
public string [] XmlDefinitions;
|
||||
public bool? Profiling;
|
||||
public string SymbolList;
|
||||
|
||||
#pragma warning restore 649
|
||||
|
||||
|
@ -311,6 +313,12 @@ namespace Xamarin
|
|||
}
|
||||
}
|
||||
|
||||
if (Profiling.HasValue)
|
||||
sb.Append (" --profiling:").Append (Profiling.Value ? "true" : "false");
|
||||
|
||||
if (!string.IsNullOrEmpty (SymbolList))
|
||||
sb.Append (" --symbollist=").Append (MTouch.Quote (SymbolList));
|
||||
|
||||
if (MSym.HasValue)
|
||||
sb.Append (" --msym:").Append (MSym.Value ? "true" : "false");
|
||||
|
||||
|
|
|
@ -45,14 +45,6 @@ namespace Xamarin.Utils
|
|||
}
|
||||
}
|
||||
|
||||
public void ReferenceSymbol (string symbol)
|
||||
{
|
||||
if (UnresolvedSymbols == null)
|
||||
UnresolvedSymbols = new HashSet<string> ();
|
||||
|
||||
UnresolvedSymbols.Add (symbol);
|
||||
}
|
||||
|
||||
public void ReferenceSymbols (IEnumerable<Symbol> symbols)
|
||||
{
|
||||
if (UnresolvedSymbols == null)
|
||||
|
|
|
@ -240,6 +240,11 @@ namespace Xamarin.Bundler {
|
|||
dynamic_symbols.AddFunction ("xamarin_dyn_objc_msgSendSuper_stret");
|
||||
}
|
||||
|
||||
#if MONOTOUCH
|
||||
if (App.EnableProfiling && App.LibProfilerLinkMode == AssemblyBuildTarget.StaticObject)
|
||||
dynamic_symbols.AddFunction ("mono_profiler_startup_log");
|
||||
#endif
|
||||
|
||||
dynamic_symbols.Save (cache_location);
|
||||
}
|
||||
|
||||
|
|
|
@ -1403,8 +1403,6 @@ namespace Xamarin.Bundler
|
|||
case AssemblyBuildTarget.StaticObject:
|
||||
libprofiler = Path.Combine (libdir, "libmono-profiler-log.a");
|
||||
linker_flags.AddLinkWith (libprofiler);
|
||||
if (!App.EnableBitCode)
|
||||
linker_flags.ReferenceSymbol ("mono_profiler_startup_log");
|
||||
break;
|
||||
case AssemblyBuildTarget.Framework: // We don't ship the profiler as a framework, so this should be impossible.
|
||||
default:
|
||||
|
|
Загрузка…
Ссылка в новой задаче