summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMirco Bauer <meebey@meebey.net>2010-12-18 15:01:24 +0100
committerMirco Bauer <meebey@meebey.net>2010-12-18 15:01:24 +0100
commit0ab440215e192bb9c19942abbf01ae8a86d1ed76 (patch)
tree8408238072583f9d119ba90e757c2a1297f033b4
parentc035dfb539187b74f895c0a107dcce1b78b82cab (diff)
parentb2ddb4c5ea24be9b6e41fb912db13df6e33d6661 (diff)
downloadmono-0ab440215e192bb9c19942abbf01ae8a86d1ed76.tar.gz
Merge branch 'master' into lenny-backportsdebian/2.6.7-4_bpo50+1
Conflicts: debian/changelog
-rw-r--r--debian/changelog38
-rw-r--r--debian/control29
-rw-r--r--debian/gbp.conf5
-rw-r--r--debian/libmono-system-data-linq2.0-cil.install2
-rw-r--r--debian/libmono-system-data2.0-cil.install2
-rwxr-xr-xdebian/rules21
-rw-r--r--mono/metadata/loader.c18
-rw-r--r--mono/mini/debugger-agent.c5
-rw-r--r--mono/mini/exceptions-amd64.c16
-rw-r--r--mono/mini/mini-amd64.h3
-rw-r--r--mono/mini/mini.h1
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,