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

99 Коммитов

Автор SHA1 Сообщение Дата
Chris Hamons 1c6e1959b7 [XM] Add support for disabling lldb attach on crash (#670)
- https://bugzilla.xamarin.com/show_bug.cgi?id=23482
2016-08-25 13:06:38 -05:00
Rolf Bjarne Kvinge e291f1717d Revert "Bump [watch-]mono to master to get fix for #43658." (#665) 2016-08-25 14:44:53 +02:00
Rolf Bjarne Kvinge f6b1ccd748 Bump [watch-]mono to master to get fix for #43658. (#653)
* Bump [watch-]mono to master to get fix for #43658.

https://bugzilla.xamarin.com/show_bug.cgi?id=43658

* [mtouch/mmp] Fix build after breaking cecil update in mono.

Also use mono's cecil instead of our own cecil submodule for mtouch.

* Bump [watch-]mono to get compilation fixes after cecil bump in mono.

* Remove cecil submodule, we only use the one in mono now.
2016-08-25 13:10:14 +02:00
Rolf Bjarne Kvinge bbb081212c [apidiff] Run mono-api-info and mono-api-html from their output directories. (#660)
This way we use the right version of any dependent dlls.

Otherwise we'd build with the cecil version from the mono repository,
and run with the system's cecil.
2016-08-25 11:31:56 +02:00
Rolf Bjarne Kvinge e0b1ac4f75 [mtouch/mmp] Fix debug spew to compile. (#654) 2016-08-24 14:26:56 -04:00
Manuel de la Pena bb528f90dc [Mtouch] Use the mono tools to copy over the msym files. (#622)
* [Mtouch] Use the mono tools to copy over the msym files.

* As per review:

* Do not create a DirectoryInfo when it is not needed.
* Do not throw exceptions for values that can be null, should never
happen.
* Remove unused import.

* Undo a wrong using removal and do the right thing.

* Fix build issues.
2016-08-23 10:29:42 +02:00
Manuel de la Pena a916c9ee06 [mtouch] Remove warning from aot compilation. (#639)
The option was removed because it is default in mono.
2016-08-22 11:26:42 -04:00
Aleksey Kliger (λgeek) e5132633e5 [linker] Update mscorlib.xml to include Mono.RuntimeStructs (#616) 2016-08-16 17:08:11 -04:00
Chris Hamons 1d09e9040b [XM] Fix native dependency processing by mmp when linker is disabled (#613)
* [XM] Fix native dependency processing by mmp when linker is disabled

- https://bugzilla.xamarin.com/show_bug.cgi?id=43364
- Fixed via a hack for now. Fixed https://bugzilla.xamarin.com/show_bug.cgi?id=43419 to clean up later
- Added null check in ProcessDLLImports due to facades
2016-08-16 15:24:01 -05:00
Alexander Köplinger e04f2abb19 Add System.IdentityModel to Sdk assemblies (#612)
Fixes the following mtouch test failure:

```
Xamarin.Linker.SdkTest.iOS_Classic :   BCL
  Expected:
  But was:  < "System.IdentityModel" >

at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message, System.Object[] args) <0x47bec88 + 0x00047> in :0
at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message) <0x47bec58 + 0x0001f> in :0
at Xamarin.Linker.SdkTest.BCL (System.String path) <0x47bccf0 + 0x003f3> in :0
at Xamarin.Linker.SdkTest.iOS_Classic () <0x47bcc50 + 0x0001b> in :0
```
2016-08-16 11:41:51 -04:00
Chris Hamons a88ab8afc5 [XM] Teach XM to add fobjc-runtime=macosx to clang 64-bit builds (#585)
- As requested by Rolf here https://bugzilla.xamarin.com/show_bug.cgi?id=42889
2016-08-10 15:03:26 -04:00
Chris Hamons 3dd8f846d7 [XM] Ignore linking requests for extension projects (#575)
- Linking breaks extensions for as long as we have the "extensions must be use static registrar" hack.
- So let's ignore it with a warning. Better that random brokeness.
- https://bugzilla.xamarin.com/show_bug.cgi?id=43197
2016-08-09 10:14:27 -05:00
Sebastien Pouliot bc72c950b7 [apidiff] Update definitions to C7SR1 (current stable) (#550)
Also enable tvOS when updating references (Makefile)
2016-08-04 13:14:13 -04:00
Chris Hamons 6f4be16d3a [XM] Fix static registrar.
Rip out all 64-bit registration in 32-bit XM.
2016-08-04 11:54:59 +02:00
Chris Hamons a3b31d154b [XM] Fix static registrar on 10.12 by teaching it that QTKit is dead (#472) 2016-08-04 11:54:59 +02:00
Rolf Bjarne Kvinge c66a44bc12 Teach the static registrar about the lack of ExternalAccessory headers in the tvOS simulator.
This is only applicable to tvOS 10 (i.e. the xcode8 branch),
but applying the patch already helps avoiding merge failures
for other fixes in the same area.
2016-08-04 11:54:58 +02:00
Rolf Bjarne Kvinge e7a1675436 [registrar] Skip any assemblies with the DelayedRegistrationAttribute in the static registrar. (#507) 2016-07-29 11:33:18 +02:00
Chris Hamons 08ba6a7af7 [XM] Teach mmp to set rpath we we copy frameworks into bundle Framework dir (#506)
- https://bugzilla.xamarin.com/show_bug.cgi?id=42846
2016-07-28 07:49:21 -05:00
Manuel de la Pena c1d2b5c2dc [mtouch] Remove warning when building mtouch. (#491) 2016-07-27 10:58:23 +02:00
Aleksey Kliger (λgeek) 0364c047e6 [mmp] Preserve TransparentProxy::StoreRemoteField (#497)
* Bump mono and watch-mono

* [mmp] Preserve TransparentProxy::StoreRemoteField

This is needed to prevent a mono assert when xamarin-macios is built
with mono master after mono/mono@6b8e96c
2016-07-26 21:09:07 -04:00
Rolf Bjarne Kvinge 130d981b5b Use dlsym for user assemblies on iOS. (#488)
We tried disabling dlsym for all assemblies on iOS, but it turned
out to break a significant amount of customer code [1].

So re-enable it, but only for user assemblies (since we control
all assemblies we ship and can thus make sure those work with
dlsym disabled).

https://trello.com/c/guig1MF2/623-re-enable-dlsym-for-ios
2016-07-26 08:12:40 -04:00
Rolf Bjarne Kvinge 1003b14a8e Add multiple new assemblies to the list of known SDK assemblies. (#476)
Fixes the Sdk test:

    Errors and Failures:
    1) Test Failure : Xamarin.Linker.SdkTest.iOS_Classic
         BCL
      Expected: <empty>
      But was:  < "System.Net.Http.WinHttpHandler", "System.Numerics.Vectors", "System.Reflection.Context", "System.Reflection.DispatchProxy", "System.Runtime.InteropServices.RuntimeInformation", "System.Security", "System.Xml.XPath.XmlDocument" >

    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message, System.Object[] args) <0x39ec5e0 + 0x00047> in <filename unknown>:0
    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message) <0x39ec5b0 + 0x0001f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.BCL (System.String path) <0x39ea8a8 + 0x003f3> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.iOS_Classic () <0x39ea808 + 0x0001b> in <filename unknown>:0

    2) Test Failure : Xamarin.Linker.SdkTest.iOS_Unified
         BCL
      Expected: <empty>
      But was:  < "System.Net.Http.WinHttpHandler", "System.Numerics.Vectors", "System.Reflection.Context", "System.Reflection.DispatchProxy", "System.Runtime.InteropServices.RuntimeInformation", "System.Security", "System.Xml.XPath.XmlDocument" >

    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message, System.Object[] args) <0x39ec5e0 + 0x00047> in <filename unknown>:0
    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message) <0x39ec5b0 + 0x0001f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.BCL (System.String path) <0x39ea8a8 + 0x003f3> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.iOS_Unified () <0x39ede58 + 0x0001b> in <filename unknown>:0

    3) Test Failure : Xamarin.Linker.SdkTest.tvOS
         BCL
      Expected: <empty>
      But was:  < "System.Net.Http.WinHttpHandler", "System.Numerics.Vectors", "System.Reflection.Context", "System.Reflection.DispatchProxy", "System.Runtime.InteropServices.RuntimeInformation", "System.Security", "System.Xml.XPath.XmlDocument" >

    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message, System.Object[] args) <0x39ec5e0 + 0x00047> in <filename unknown>:0
    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message) <0x39ec5b0 + 0x0001f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.BCL (System.String path) <0x39ea8a8 + 0x003f3> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.tvOS () <0x39eded8 + 0x0001b> in <filename unknown>:0

    4) Test Failure : Xamarin.Linker.SdkTest.watchOS
         BCL
      Expected: <empty>
      But was:  < "System.Net.Http.WinHttpHandler", "System.Numerics.Vectors", "System.Reflection.Context", "System.Reflection.DispatchProxy", "System.Runtime.InteropServices.RuntimeInformation", "System.Security", "System.Xml.XPath.XmlDocument" >

    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message, System.Object[] args) <0x39ec5e0 + 0x00047> in <filename unknown>:0
    at NUnit.Framework.CollectionAssert.IsEmpty (IEnumerable collection, System.String message) <0x39ec5b0 + 0x0001f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.BCL (System.String path) <0x39ea8a8 + 0x003f3> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.watchOS () <0x39edf58 + 0x0001b> in <filename unknown>:0
2016-07-25 14:50:33 +02:00
Rolf Bjarne Kvinge 7144ffc53d [registrar] Make sure we include the headers for NS[U]Integer / CGFloat to compile. Fixes #42673. (#464)
https://bugzilla.xamarin.com/show_bug.cgi?id=42673
2016-07-22 19:11:15 +02:00
Chris Hamons 9530bdf608 [XM] Fix linker ability to deadstrip library loads from NSObject.mac.… (#448)
* [XM] Fix linker ability to deadstrip library loads from NSObject.mac.cd for new libraries

- Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=42177 in Release / Mobile since we can rip out GameController if not used
2016-07-21 12:58:54 -05:00
Rolf Bjarne Kvinge c13e733b8a Add System.Security.Cryptography.[Algorithms|Primitives] to the list of known SDK assemblies. (#445)
Fixes the Sdk test:

    Errors and Failures:
    1) Test Failure : Xamarin.Linker.SdkTest.iOS_Classic
         System.Security.Cryptography.Algorithms
      Expected: True
      But was:  False

    at Xamarin.Linker.SdkTest.Facades (System.String path) <0x30d4640 + 0x0006f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.iOS_Classic () <0x30d2808 + 0x0004b> in <filename unknown>:0

    2) Test Failure : Xamarin.Linker.SdkTest.iOS_Unified
         System.Security.Cryptography.Algorithms
      Expected: True
      But was:  False

    at Xamarin.Linker.SdkTest.Facades (System.String path) <0x30d4640 + 0x0006f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.iOS_Unified () <0x30d5558 + 0x0004b> in <filename unknown>:0

    3) Test Failure : Xamarin.Linker.SdkTest.tvOS
         System.Security.Cryptography.Algorithms
      Expected: True
      But was:  False

    at Xamarin.Linker.SdkTest.Facades (System.String path) <0x30d4640 + 0x0006f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.tvOS () <0x30d55d8 + 0x0004b> in <filename unknown>:0

    4) Test Failure : Xamarin.Linker.SdkTest.watchOS
         System.Security.Cryptography.Algorithms
      Expected: True
      But was:  False

    at Xamarin.Linker.SdkTest.Facades (System.String path) <0x30d4640 + 0x0006f> in <filename unknown>:0
    at Xamarin.Linker.SdkTest.watchOS () <0x30d5658 + 0x0004b> in <filename unknown>:0
2016-07-20 12:12:47 +02:00
Manuel de la Pena 30ae7cf5a3 [Fix] Ensure that symbolication contains the aotid subdirs that will contain the msym files. 2016-07-18 16:42:00 +02:00
Rolf Bjarne Kvinge 63811c85e5 [registrar] Use the correct parameters when generating category methods. Fixes #42489. (#385)
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.

https://bugzilla.xamarin.com/show_bug.cgi?id=42489
2016-07-14 15:33:21 -04:00
Rolf Bjarne Kvinge a7a0bb4f05 [registrar] Forward-declare ObjC classes. Fixes #42454. (#387)
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.

The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).

https://bugzilla.xamarin.com/show_bug.cgi?id=42454
2016-07-12 20:34:18 -04:00
Rolf Bjarne Kvinge 5e7f53ff38 [mtouch] Reword MT0094 to make it clearer it's an informational message, and no action is required on the user side. (#381) 2016-07-12 20:21:03 -04:00
Rolf Bjarne Kvinge b6189e9165 [mtouch] Make sure to reference mono_profiler_startup_log so that the native linker doesn't remove the symbol. Fixes #41666. (#340)
https://bugzilla.xamarin.com/show_bug.cgi?id=41666
2016-07-04 13:25:34 -04:00
Aleksey Kliger (λgeek) fad331ff76 [mmp] Preserve TransparentProxy::LoadRemoteFieldNew (#339)
This fixes an assert that `tp_load != NULL` on osx when xamarin-macios is built
with mono master after mono/mono@787e34ae2d
2016-07-01 09:57:25 -04:00
Rolf Bjarne Kvinge e2cd699b27 [registrar] Don't return from trampolines without going through proper state handling code. (#322)
Fixes a COOP crash due to invalid state.
2016-06-29 15:10:24 -04:00
Manuel de la Pena 19cceab4d5 [mtouch] Reenable the symbolication to allow debugging and update its implementation. (#284) 2016-06-28 14:35:05 -04:00
Sebastien Pouliot 67470d439c [mtouch] Quote the .dylib used for incremental builds. Fixes #42006 (#303)
Fix MT3001 AOT errors due to incorrect paths.

https://bugzilla.xamarin.com/show_bug.cgi?id=42006
2016-06-28 12:51:05 -04:00
Rolf Bjarne Kvinge f3e08d0502 [mtouch] Set the soft heap limit to 8m on watchOS. (#258) 2016-06-22 06:11:40 -07:00
Rolf Bjarne Kvinge c560fee268 [registrar] Managed characters are equivalent to shorts in native code. (#259)
Fixes NSCharacterSetTest.NSMutableCharacterSet_TestStaticSets when
running with the P/Invoke wrapper (for exceptions) enabled (i.e.
watchOS), since otherwise the wrapper would truncate char parameters
to byte.
2016-06-22 05:47:13 -07:00
Aleksey Kliger (λgeek) a46d86948c [linker] Adjust RemoveCode.cs not to remove MonoMethodMessage (#226)
Fixes Bug5354 in linker-ios/dont link/AotBugs.cs when compiled with Mono master.
2016-06-17 15:51:19 -07:00
Aleksey Kliger (λgeek) 8474a21176 [runtime] Add MonoMethodMessage::InitMessage to linker descriptors (#172)
It's called from the runtime mono_message_init method since
 Mono commit 83f37161192b7735ffd04a4235253d790eefff99
2016-06-10 13:21:19 -04:00
Rolf Bjarne Kvinge 386c15c503 Merge pull request #153 from rolfbjarne/more-exceptions
Handle any exceptions when returning from managed code back to our native runtime.
2016-06-09 18:13:23 +02:00
Rolf Bjarne Kvinge fac7270eb8 [registrar] Rewrite ctor's super call to invoke objc_msgSendSuper directly. Fixes #41319. (#159)
There's a clang bug [2] where if a selector is marked as unavailable,
it's marked as unavailable for every class, not just the class where
the unavailable selector is.

This means that we can't do `[super initWithCoder:x]` anywhere,
because `initWithCoder:` is marked as unavailable for UIActivityViewController.

So instead rewrite the call to super to call objc_msgSendSuper
directly, circumventing clang's broken availability checks.

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=41319
[2] https://llvm.org/bugs/show_bug.cgi?id=28058
2016-06-09 17:18:35 +02:00
Rolf Bjarne Kvinge b213ddd6c3 [registrar] Fix the old static registrar according to internal signature changes. 2016-06-09 13:18:45 +02:00
Rolf Bjarne Kvinge 2d28e24837 [runtime] Handle any exceptions whenever we return from managed code. 2016-06-08 20:05:54 +02:00
Chris Hamons 06c18bd887 [XM] Add release value option to msbuild/mmp to resolve XM 4.5 assemb… (#150)
[XM] Add release value option to msbuild/mmp to resolve XM 4.5 assemblies from system GAC

- This option "reverts" a C7 fix that prevented resovling assemblies from the GAC, which is unsafe
- If you use this option, you need to know what you are doing. The mono BCL and the XM BCL need to be compatible
- Use strictly puts you in the no support "you get to keep the pieces if it breaks" category.
2016-06-08 12:47:09 -04:00
Sebastien Pouliot fcd270cc37 [apidiff] Update references definition to C7 stable (XI 9.8 / XM 2.8) (#142)
Newer apidiff from master will compare to C7 (instead of C6)
2016-06-07 17:04:37 -04:00
Rolf Bjarne Kvinge 6c0374a29a [jenkins] Run the api diff. (#73) 2016-06-02 14:30:17 +02:00
Rolf Bjarne Kvinge 6a58755389 [linker] Add Mono.Security.Provider.NewTls as known SDK library. (#118) 2016-06-02 11:11:37 +02:00
Rolf Bjarne Kvinge ca5bcb5c55 [mtouch] Fix the old static registrar output after the latest coop changes. (#115) 2016-06-02 09:17:17 +02:00
Rolf Bjarne Kvinge ad88558d82 [mtouch] Tweak error message for MT0073 and MT0074. Fixes #40606. (#111)
https://bugzilla.xamarin.com/show_bug.cgi?id=40606
2016-06-01 19:18:35 +02:00
Rolf Bjarne Kvinge a35c2df3ff [mtouch] Don't bundle libmono-profiler-log.dylib unless profiling is enabled. (#113) 2016-06-01 16:58:46 +02:00
Rolf Bjarne Kvinge a8c2c3f617 [mtouch] Unassigned unused error message. (#110) 2016-06-01 16:33:03 +02:00