diff options
author | Mirco Bauer <meebey@meebey.net> | 2010-12-18 15:01:24 +0100 |
---|---|---|
committer | Mirco Bauer <meebey@meebey.net> | 2010-12-18 15:01:24 +0100 |
commit | 0ab440215e192bb9c19942abbf01ae8a86d1ed76 (patch) | |
tree | 8408238072583f9d119ba90e757c2a1297f033b4 | |
parent | c035dfb539187b74f895c0a107dcce1b78b82cab (diff) | |
parent | b2ddb4c5ea24be9b6e41fb912db13df6e33d6661 (diff) | |
download | mono-0ab440215e192bb9c19942abbf01ae8a86d1ed76.tar.gz |
Merge branch 'master' into lenny-backportsdebian/2.6.7-4_bpo50+1
Conflicts:
debian/changelog
-rw-r--r-- | debian/changelog | 38 | ||||
-rw-r--r-- | debian/control | 29 | ||||
-rw-r--r-- | debian/gbp.conf | 5 | ||||
-rw-r--r-- | debian/libmono-system-data-linq2.0-cil.install | 2 | ||||
-rw-r--r-- | debian/libmono-system-data2.0-cil.install | 2 | ||||
-rwxr-xr-x | debian/rules | 21 | ||||
-rw-r--r-- | mono/metadata/loader.c | 18 | ||||
-rw-r--r-- | mono/mini/debugger-agent.c | 5 | ||||
-rw-r--r-- | mono/mini/exceptions-amd64.c | 16 | ||||
-rw-r--r-- | mono/mini/mini-amd64.h | 3 | ||||
-rw-r--r-- | mono/mini/mini.h | 1 |
11 files changed, 112 insertions, 28 deletions
diff --git a/debian/changelog b/debian/changelog index a3e4ce7fe5..f96a695e90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,4 @@ -mono (2.6.7-3~bpo50+2) lenny-backports; urgency=low - - * debian/control: - + Replaced libnunit-cil-dev binary dep with libnunit2.4-cil - - -- Mirco Bauer <meebey@debian.org> Sun, 12 Sep 2010 23:48:35 +0200 - -mono (2.6.7-3~bpo50+1) lenny-backports; urgency=low +mono (2.6.7-4~bpo50+1) lenny-backports; urgency=low * Rebuild for lenny-backports. * debian/shlibs.local: @@ -20,9 +13,38 @@ mono (2.6.7-3~bpo50+1) lenny-backports; urgency=low + Added mono-devel dependency to mono-gmcs for build-dep compatiblity with source packages of lenny. + Build-depend on libtool >= 2.2 as dolt doesn't work with libtool 1.5 + + Replaced libnunit-cil-dev binary dep with libnunit2.4-cil + + Added libmono-posix{1,2}.0-cil, libmono-getoptions{1,2}.0-cil + and libmono-cecil-private-cil dependencies to libmono{1,2}.0-cil for binary + backwards compatibility with packages build against Mono 1.9.1. -- Mirco Bauer <meebey@debian.org> Sun, 12 Sep 2010 21:35:09 +0200 +mono (2.6.7-4) unstable; urgency=high + + [ Mirco Bauer ] + * [63821a1] Added libmono-nunit2.2-cil to conflicts and replaces of + libmono-cil-dev for smooth upgrade from lenny (closes: #602024) + * [0089f11] Moved the System.Data.Linq library into libmono-system- + data-linq2.0-cil to avoid an unneeded dependency chain for most + applications. + * [393dc41] Demote libmono-firebirdsql1.7-cil and mono-debugger from + recommends to suggests if built on Ubuntu. + + [ Paolo Molaro ] + * [52727f0] Search for dllimported shared libs in the base directory, + not cwd. * loader.c: we don't search the current directory anymore + for shared libraries referenced in DllImport attributes, as it has a + slight security risk. We search in the same directory where the + referencing image was loaded from, instead. + (CVE-2010-4159, closes: #605097) + + [ Zoltan Varga ] + * [f17ab04] Fix stack alignment when resuming from a signal handler in + the soft debugger. + + -- Mirco Bauer <meebey@debian.org> Mon, 06 Dec 2010 23:34:16 +0100 + mono (2.6.7-3) unstable; urgency=low * The "welcome to new java refugees" release diff --git a/debian/control b/debian/control index 37b0e19450..a50de91682 100644 --- a/debian/control +++ b/debian/control @@ -175,7 +175,8 @@ Description: Mono profiler libraries Package: libmono-cil-dev Architecture: all -Replaces: libmono-nunit2.4-cil (<< 2.4.3), +Replaces: libmono-nunit2.2-cil (<< 2.4.3), + libmono-nunit2.4-cil (<< 2.4.3), libmono-cairo2.0-cil (<< 2.4.3), libmono-cecil-private-cil (<< 2.4.3), libmono-system-web2.0-cil (<< 2.4.3), @@ -183,8 +184,10 @@ Replaces: libmono-nunit2.4-cil (<< 2.4.3), libmono2.0-cil (<< 2.4.3), mono-devel (<< 2.4.3), libmono-dev (<< 2.4.3) -Conflicts: libmono-nunit2.4-cil -Recommends: libmono-firebirdsql1.7-cil (= ${source:Version}) +Conflicts: libmono-nunit2.2-cil, + libmono-nunit2.4-cil +Suggests: ${firebirdsql:Suggests} +Recommends: ${firebirdsql:Recommends} Depends: ${misc:Depends}, libmono1.0-cil (= ${source:Version}), libmono2.0-cil (= ${source:Version}), @@ -218,6 +221,7 @@ Depends: ${misc:Depends}, libmono-data-tds2.0-cil (= ${source:Version}), libmono-system-data1.0-cil (= ${source:Version}), libmono-system-data2.0-cil (= ${source:Version}), + libmono-system-data-linq2.0-cil (= ${source:Version}), libmono-system-web1.0-cil (= ${source:Version}), libmono-system-web2.0-cil (= ${source:Version}), libmono-system-web-mvc1.0-cil (= ${source:Version}), @@ -770,6 +774,22 @@ Description: Mono System.Data Library (for CLI 2.0) . This package contains the Mono System.Data library for CLI 2.0. +Package: libmono-system-data-linq2.0-cil +Architecture: all +Replaces: libmono-system-data2.0-cil (<< 2.6.7-4) +Conflicts: libmono-system-data2.0-cil (<< 2.6.7-4) +Depends: ${misc:Depends}, ${cli:Depends} +Description: Mono System.Data.Linq Library + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains the Mono System.Data.Linq library which implements + LINQ to SQL. LINQ to SQL allows one to query relational databases using the + language-integrated query (LINQ) extension of the C# programming language. + Package: libmono-system-web1.0-cil Architecture: all Replaces: mono-classlib-1.0 (<< 1.1.13.6), mono-classlib-1.0-dbg (<< 1.1.13.6) @@ -1351,7 +1371,8 @@ Package: mono-dbg Priority: extra Section: debug Architecture: all -Recommends: mono-debugger +Suggests: ${mdb:Suggests} +Recommends: ${mdb:Recommends} Depends: ${misc:Depends} Replaces: libmono1.0-cil (<< 1.2.4-1), libmono2.0-cil (<< 1.2.4-1), diff --git a/debian/gbp.conf b/debian/gbp.conf index 0952a5ecb8..d976e76ba1 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,9 +1,10 @@ [git-dch] id-length = 7 meta = True +full = True [git-import-orig] postimport = git-dch -N%(version)s -S -a --debian-branch=$GBP_BRANCH no-merge = True [DEFAULT] -debian-branch = master-experimental -upstream-branch = upstream-experimental +debian-branch = master +upstream-branch = upstream diff --git a/debian/libmono-system-data-linq2.0-cil.install b/debian/libmono-system-data-linq2.0-cil.install new file mode 100644 index 0000000000..61a2715d60 --- /dev/null +++ b/debian/libmono-system-data-linq2.0-cil.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/mono/gac/System.Data.Linq/3.5.0.0__*/ +debian/tmp/usr/lib/mono/2.0/System.Data.Linq.dll diff --git a/debian/libmono-system-data2.0-cil.install b/debian/libmono-system-data2.0-cil.install index 9fcdc99156..6fefa71609 100644 --- a/debian/libmono-system-data2.0-cil.install +++ b/debian/libmono-system-data2.0-cil.install @@ -1,6 +1,4 @@ debian/tmp/usr/lib/mono/gac/System.Data/2.0.0.0__*/ debian/tmp/usr/lib/mono/gac/System.Data.DataSetExtensions/3.5.0.0__*/ -debian/tmp/usr/lib/mono/gac/System.Data.Linq/3.5.0.0__*/ debian/tmp/usr/lib/mono/2.0/System.Data.dll debian/tmp/usr/lib/mono/2.0/System.Data.DataSetExtensions.dll -debian/tmp/usr/lib/mono/2.0/System.Data.Linq.dll diff --git a/debian/rules b/debian/rules index 7977674442..8afd12b7fc 100755 --- a/debian/rules +++ b/debian/rules @@ -57,6 +57,24 @@ else MONO_TEST = cd mono/tests && make test endif +FIREBIRDSQL_REL = "libmono-firebirdsql1.7-cil (= $(VERSION))" +ifeq ($(DISTRO), Ubuntu) + FIREBIRDSQL_VARS = -Vfirebirdsql:Suggests=$(FIREBIRDSQL_REL) + FIREBIRDSQL_VARS += -Vfirebirdsql:Recommends= +else + FIREBIRDSQL_VARS = -Vfirebirdsql:Suggests= + FIREBIRDSQL_VARS += -Vfirebirdsql:Recommends=$(FIREBIRDSQL_REL) +endif + +MDB_REL = mono-debugger +ifeq ($(DISTRO), Ubuntu) + MDB_VARS = -Vmdb:Suggests=$(MDB_REL) + MDB_VARS += -Vmdb:Recommends= +else + MDB_VARS = -Vmdb:Suggests= + MDB_VARS += -Vmdb:Recommends=$(MDB_REL) +endif + CONFIGURE = CFLAGS="$(CFLAGS)" \ ./configure $(CONF_FLAGS) --prefix=/usr \ --mandir=\$${prefix}/share/man \ @@ -344,7 +362,8 @@ binary-indep: build-stamp install-arch install-indep # mono-1.0/2.0-gac needs special runtime dep, to prevent circular dep (mono-runtime <-> mono-1.0/2.0-gac) debian/dh_clideps -p mono-1.0-gac -r $(DH_INTERNAL_MONO_PARAM) debian/dh_clideps -p mono-2.0-gac -r $(DH_INTERNAL_MONO_PARAM) - dh_gencontrol -i -- -Vmono:upversion=$(UPVERSION) -Vmono:next-upversion=$(NEXT_UPVERSION) + dh_gencontrol -i -- -Vmono:upversion=$(UPVERSION) -Vmono:next-upversion=$(NEXT_UPVERSION) \ + $(FIREBIRDSQL_VARS) $(MDB_VARS) dh_md5sums -i dh_builddeb -i diff --git a/mono/metadata/loader.c b/mono/metadata/loader.c index 199a2dca2c..02bdaca337 100644 --- a/mono/metadata/loader.c +++ b/mono/metadata/loader.c @@ -1316,32 +1316,34 @@ mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char if (!module) { void *iter = NULL; - while ((full_name = mono_dl_build_path (NULL, file_name, &iter))) { + char *mdirname = g_path_get_dirname (image->name); + while ((full_name = mono_dl_build_path (mdirname, file_name, &iter))) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport loading location: '%s'.", full_name); + "DllImport loading library: '%s'.", full_name); module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg); if (!module) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport error loading library: '%s'.", - error_msg); + "DllImport error loading library '%s'.", + error_msg); g_free (error_msg); } g_free (full_name); if (module) break; } + g_free (mdirname); } if (!module) { void *iter = NULL; - while ((full_name = mono_dl_build_path (".", file_name, &iter))) { + while ((full_name = mono_dl_build_path (NULL, file_name, &iter))) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport loading library: '%s'.", full_name); + "DllImport loading location: '%s'.", full_name); module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg); if (!module) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport error loading library '%s'.", - error_msg); + "DllImport error loading library: '%s'.", + error_msg); g_free (error_msg); } g_free (full_name); diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c index 60ff010b41..9dd1f5d6f2 100644 --- a/mono/mini/debugger-agent.c +++ b/mono/mini/debugger-agent.c @@ -3523,8 +3523,11 @@ resume_from_signal_handler (void *sigctx, void *func) mono_arch_sigctx_to_monoctx (sigctx, &ctx); memcpy (&tls->handler_ctx, &ctx, sizeof (MonoContext)); +#ifdef MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX + mono_arch_setup_resume_sighandler_ctx (&ctx, func); +#else MONO_CONTEXT_SET_IP (&ctx, func); - +#endif mono_arch_monoctx_to_sigctx (&ctx, sigctx); } diff --git a/mono/mini/exceptions-amd64.c b/mono/mini/exceptions-amd64.c index 54ed88347c..8dcb3a9398 100644 --- a/mono/mini/exceptions-amd64.c +++ b/mono/mini/exceptions-amd64.c @@ -1456,3 +1456,19 @@ mono_tasklets_arch_restore (void) } #endif +/* + * mono_arch_setup_resume_sighandler_ctx: + * + * Setup CTX so execution continues at FUNC. + */ +void +mono_arch_setup_resume_sighandler_ctx (MonoContext *ctx, gpointer func) +{ + /* + * When resuming from a signal handler, the stack should be misaligned, just like right after + * a call. + */ + if ((((guint64)MONO_CONTEXT_GET_SP (ctx)) % 16) == 0) + MONO_CONTEXT_SET_SP (ctx, (guint64)MONO_CONTEXT_GET_SP (ctx) - 8); + MONO_CONTEXT_SET_IP (ctx, func); +} diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h index 4387debe82..ec5a2fdf5e 100644 --- a/mono/mini/mini-amd64.h +++ b/mono/mini/mini-amd64.h @@ -376,8 +376,7 @@ typedef struct { #define MONO_ARCH_DYN_CALL_PARAM_AREA 0 #define MONO_ARCH_HAVE_LLVM_IMT_TRAMPOLINE 1 - -#define MONO_ARCH_USE_OP_TAIL_CALL(caller_sig, callee_sig) mono_metadata_signature_equal ((caller_sig), (callee_sig)) +#define MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX 1 /* Used for optimization, not complete */ #define MONO_ARCH_IS_OP_MEMBASE(opcode) ((opcode) == OP_X86_PUSH_MEMBASE) diff --git a/mono/mini/mini.h b/mono/mini/mini.h index ad81fdd0c7..64bc66be77 100644 --- a/mono/mini/mini.h +++ b/mono/mini/mini.h @@ -1705,6 +1705,7 @@ guint8* mono_arch_get_ip_for_breakpoint (MonoJitInfo *ji, MonoContext *c void mono_arch_skip_breakpoint (MonoContext *ctx) MONO_INTERNAL; void mono_arch_skip_single_step (MonoContext *ctx) MONO_INTERNAL; gpointer mono_arch_get_seq_point_info (MonoDomain *domain, guint8 *code) MONO_INTERNAL; +void mono_arch_setup_resume_sighandler_ctx (MonoContext *ctx, gpointer func) MONO_INTERNAL; #endif MonoJitInfo *mono_arch_find_jit_info (MonoDomain *domain, |