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

3936 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 5feea25f3c [runtime] Use xamarin_process_nsexception instead of xamarin_throw_ns_exception in our generated bindings. (#84)
This makes the generated bindings play nice with exception marshaling.
2016-05-26 13:36:56 +02:00
Rolf Bjarne Kvinge a5c7575387 [runtime] Remove debug printf I haven't figured out how to fix. (#85)
As far as I can tell there are no memory warnings on watchOS,
but I can't find any documentation saying that either.
2016-05-26 13:11:28 +02:00
Chris Hamons a5a4450726 Bump maccore for extension tests 2016-05-25 16:22:50 -05:00
Chris Hamons ca028ea150 [Mac] Add support for os x extensions (#83) 2016-05-25 17:20:33 -04:00
Chris Hamons 47dc0f26c9 Mmp readonly fix (#82)
* [XM] Teach XM's mmp tool to handle read only assemblies/native libs

- https://bugzilla.xamarin.com/show_bug.cgi?id=41037
- mmp should also promote any install_name_tool errors to "real" errors

* Bump maccore
2016-05-25 16:29:33 -04:00
Jeffrey Stedfast 0d184bb187 [msbuild] Bump task projects to use .NET 4.5 instead of 4.0 (#78)
* [msbuild] Bump task projects to use .NET 4.5 instead of 4.0

Needed so that we can reference .NET 4.5 projects/assemblies
2016-05-25 14:06:20 -04:00
Sebastien Pouliot c49a8cb211 Bump maccore to fix monotouch-test unified builds 2016-05-25 11:06:29 -04:00
Jeffrey Stedfast 88bf794559 [msbuild] Fixed logic for building WatchOS storyboards (#75)
Starting with Xcode 7, storyboards are output as
Interface.storyboardc/Interface.plist instead of Interface.plist

We can also safely link these storyboards as long as we pass
the storyboardc directory to ibtool.
2016-05-25 11:16:41 +02:00
Sebastien Pouliot 24a2060e85 Bump maccore for test updates 2016-05-24 15:10:36 -04:00
Manuel de la Pena e9f172c71e Bump maccore dependency. 2016-05-24 10:41:21 +02:00
Jeffrey Stedfast e1e358a402 Merge pull request #45 from jstedfast/ibtool-link
[msbuild] Link storyboards as part of the IBTool task if Xcode >= 7.0
2016-05-23 16:41:26 -04:00
Manuel de la Pena 16f078a960 Bump maccore dependency. 2016-05-23 22:35:58 +02:00
Manuel de la Pena 9b240474b5 Merge pull request #72 from mandel-macaque/bug-34816
[Fix] Overload the == and != operators of the NSUrl class.
2016-05-23 15:51:22 +02:00
Manuel de la Pena ed746c8a2a [Fix] Overload the == and != operators of the NSUrl class. 2016-05-23 12:54:49 +02:00
Vincent Dondain 6ca327e193 [msbuild] Remove empty UIDeviceRequiredCapabilities array (#71)
Looks like Xcode isn't generating any UIDeviceRequiredCapabilities
for watchOS 1 extensions.

It used to have UIRequiredDeviceCapabilities = 'watch-companion'
but that *might* not be required anymore.
Commit 94e35a8570 on xamarin-macios/master
comes from those same assumptions.

Now regarding bug #41204:
User is getting error "ERROR ITMS-90563: "Missing UIRequiredDeviceCapabilities value"
when publish WatchKitCatalog sample.
(https://bugzilla.xamarin.com/show_bug.cgi?id=41204)

This might happen because we're still creating an empty array for the
UIDeviceRequiredCapabilities key.

In any case there's no need to create it.
2016-05-23 10:18:34 +02:00
Sebastien Pouliot c126a6e354 [tests] Move linker tests from maccore (#69) 2016-05-20 14:07:34 -04:00
Manuel de la Pena cd02bdb4b0 Bump maccore dependency. 2016-05-20 16:54:47 +02:00
Manuel de la Pena 931968a0e1 Merge pull request #57 from mandel-macaque/bug-35012
[Fix] Add missing selectors for NSExpression and ensure properties work with the correct expression types.
2016-05-20 16:52:09 +02:00
Manuel de la Pena 5508aa32f5 [Fix] Add missing selectors for NSExpression.
Added the missing static factory methods and the missing property. In
order to give a clean API a new flag was added to the NSExpression class
to track if the Block property does return a block or a null ptr. The
idea is to avoid user from seeing an obj-c exception.

This commit fixes bug #35012:

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

The evaluation of the NSExpression and the defition of the
NSExpressionHandler have also been fixed since both should be using
NSObjects.
2016-05-19 18:03:55 +02:00
Vincent Dondain 686693ca47 [msbuild] Add AudioUnit key to ValidateAppBundleTaskBase (#68) 2016-05-19 16:53:44 +02:00
Rolf Bjarne Kvinge d48d7c2e11 [configure] Add option to disable device-related parts of the build. (#67)
And use it when building on jenkins.
2016-05-19 14:33:35 +02:00
Sebastien Pouliot 323c7f42fc [runtime] Add dummy _stret symbols for iOS/ARM64 (#66)
The `_stret` API are not included in the ARM64 version of iOS (not
needed) but the removal of `dlsym` cause build failures*

So we're providing dummy symbols, just like what we did for tvOS,
to please the native linker (so nothing is undefined) and keep the
benefits of not using dlsym.

* Xamarin.iOS.dll (or other bindings) when the linker is disabled.
Normally the linker would remove the 32bits parts of the bindings
on a 64bits slice (and that would not be noticed). However we can
not assume this will be done for all binding projects, hence this
workaround.
2016-05-18 16:51:45 -04:00
Rolf Bjarne Kvinge 48cd88ba3e [jenkins] Add initial script to execute on jenkins. (#65) 2016-05-18 20:27:59 +02:00
Rolf Bjarne Kvinge 65c50daf22 [builds] Use the mono from watch-mono repo for bwatch-mono. (#64)
* [mk] Add watch-mono to the check-versions and reset-versions targets.

* [builds] Use the mono from watch-mono repo for bwatch-mono.
2016-05-18 19:33:04 +02:00
Rolf Bjarne Kvinge 7ae963b741 Bump maccore to get tests for exception marshaling. (#63) 2016-05-18 15:19:35 +02:00
Rolf Bjarne Kvinge 34656bfa76 [mk] Add watch-mono to the check-versions and reset-versions targets. (#62) 2016-05-18 14:29:02 +02:00
Sebastien Pouliot e726b5ab7e Bump maccore for fixing #3 of bug #41083 (#61)
[Xamarin.Hosting] Set a default simulator if nothing is provided to mlaunch. Fix #41083 part 3

    The string to represent a specific simulator is not something you can
    easily remember but it's often not very important.

    This will start the most basic simulator, by default, instead of throwing
    an NRE that does not mention a (now un-) required parameter is missing.

    > Failed to launch the simulator: Object reference not set to an instance of an object
    > error MT1008: Failed to launch the simulator: Object reference not set to an instance of an object

    https://bugzilla.xamarin.com/show_bug.cgi?id=41083
2016-05-17 20:37:16 -04:00
Sebastien Pouliot 2dd895e3fe [mtouch] Set default for dlsym to false for iOS (like tvOS and watchOS) (#60)
In cycle 7 we turned off, by default, the `dlsym` option (i.e. looking
up symbols for p/invoke) for tvOS and watchOS.

However we decided to wait for iOS to see if this caused issues for
existing code base. There has not been such reports (for tvOS) so,
for cycle 8, we'll turn it off (and use direct calls) for iOS.

If problems arise during the alpha/beta of C8 then we still can
revert this change easily.
2016-05-17 18:35:31 +02:00
Rolf Bjarne Kvinge 9e56c3ec3b Merge pull request #55 from rolfbjarne/exceptions
Implement support for exception marshaling.
2016-05-17 13:50:35 +02:00
Rolf Bjarne Kvinge cffc2e9181 Rewrite user-visible messages to use 'cooperative mode' instead of 'coop'.
This seems to be how we describe it publicly: http://tirania.org/blog/archive/2015/Dec-22.html
2016-05-17 11:30:38 +02:00
Rolf Bjarne Kvinge f7a5b7fb70 [runtime] Add docs about exception marshaling. 2016-05-17 11:24:04 +02:00
Rolf Bjarne Kvinge 2f2ac89da7 [mtouch] Remove misleading comment.
mtouch calculates the exact set of native functions to reference now,
so there's no need to sync anything.
2016-05-17 11:24:04 +02:00
Rolf Bjarne Kvinge 62cbe7e1f6 [mtouch] Fix logic to detect if simlauncher can be used. 2016-05-17 11:24:04 +02:00
Rolf Bjarne Kvinge f631069bbd [mmp] Only 64-bit apps have the dynamic objc_msgSend wrappers. 2016-05-17 11:24:04 +02:00
Rolf Bjarne Kvinge 7c1b81eb9d [runtime] Make sure the stack is correctly aligned to 16 bytes. 2016-05-17 11:24:03 +02:00
Rolf Bjarne Kvinge 53582429ec [runtime] Use the right condition when to reference libxammac.dylib vs __Internal. 2016-05-17 11:24:03 +02:00
Rolf Bjarne Kvinge f478657298 [runtime] Only insert dllmap for exception marshalling when the ObjC runtime supports zero-cost exceptions. 2016-05-17 11:24:03 +02:00
Rolf Bjarne Kvinge feb12f61b5 [runtime] mono_set_pending_exception is a private function in mono, so make it optional.
Otherwise Xamarin.Mac apps using the system mono will fail.
2016-05-17 11:24:03 +02:00
Rolf Bjarne Kvinge e51c48cda5 [runtime] Don't store xmm registers where we store other registers.
We store $ebx at $ebp-12:

	pushl	%ebx		# %ebp-12

so then storing xmm0 at $ebp-24:

	movaps	%xmm0, -24(%ebp)

would write 16 bytes between $ebp-24 and $ebp-8, thus overwriting
the place where we stored $ebx.

So allocate a bit more stack space and store the xmm registers
further 16 bytes down.
2016-05-17 11:24:02 +02:00
Rolf Bjarne Kvinge e8e8d6ea43 [runtime] Fix lookup of the inner exception when printing exception messages. 2016-05-17 11:24:02 +02:00
Rolf Bjarne Kvinge 79c68238ce [runtime] Don't use NSMethodSignature to compute frame size, it can't handle all method signature encodings.
In particular NSMethodSignature chokes on encodings like this:

	[NSDecimalNumber initWithDecimal:] = "@36@0:8{?=b8b4b1b1b18[8S]}16"

with an exception:

	NSInvalidArgumentException Reason: +[NSMethodSignature signatureWithObjCTypes:]: unsupported type encoding spec '{?}'

so implement our own code to calculate the frame size.
2016-05-17 11:24:02 +02:00
Rolf Bjarne Kvinge 3ac40ab007 [runtime] Improve a few assertion messages to include more information. 2016-05-17 11:24:02 +02:00
Rolf Bjarne Kvinge 515ed012c1 Add libmonotouch.csproj / xamios.csproj to Xamarin.iOS.sln. 2016-05-17 11:23:48 +02:00
Rolf Bjarne Kvinge 1ef9dfb811 [runtime] Make sure the movaps instruction only accesses 16-byte aligned memory addresses. 2016-05-17 11:23:48 +02:00
Rolf Bjarne Kvinge 1f1f6991a3 Implement support for exception marshalling. 2016-05-17 11:23:48 +02:00
Rolf Bjarne Kvinge 86c73f8fc0 Refactor static registrar to produce both a header and a source file.
This way we can re-use the header in other files.
2016-05-17 11:23:47 +02:00
Rolf Bjarne Kvinge 3903e01076 [mmp/mtouch] Add a Driver.WriteIfDifferent overload that takes a byte array. 2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge 9b4f7532ab Add runtime variable to specify the exception marshalling modes, and mmp/mtouch options to select it. 2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge b8abf3db01 Add runtime variable to specify if the Coop GC should be used, and a mmp/mtouch option to select it.
The mmp/mtouch option is hidden for now, since it's not actually possible
to select the Coop GC yet.
2016-05-17 11:20:26 +02:00
Rolf Bjarne Kvinge ac705ce505 [runtime] Make the existing trampolines exception-aware.
This is required so that the Objective-C exception
unwinder can properly unwind through these trampolines.
2016-05-17 11:20:26 +02:00