Age | Commit message (Collapse) | Author |
|
environment variables
Relying on the HOMEDRIVE/HOMEPATH environment variables is fragile as those
variables don't always have to be set. One such scenario is when running on a
Jenkins slave. When not set g_get_home_dir() in eglib would return NULL which
led to a crash in ves_icall_System_Environment_InternalGetHome().
This patch changes g_get_home_dir() to first try to call
SHGetKnownFolderPath() to get the current user's profile directory (i.e. home
dir). If that fails it falls back to the USERPROFILE environment variable. If
that isn't available the function will fallback to the original behavior and
try with HOMEDRIVE/HOMEPATH.
|
|
In the past there were wars between constified and unconstified
second parameter.. NetBSD went with constifying it. POSIX went without
const and most other OSes standarized. NetBSD is still having
incompatible function prototype.
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <iconv.h>
size_t
iconv(iconv_t cd, const char ** restrict src, size_t * restrict srcleft,
char ** restrict dst, size_t * restrict dstleft);
|
|
|
|
Since UNICODE is defined when Mono is compiled under Windows the
GetLocaleInfo() macro will expand to GetLocaleInfoW() which returns the
current locale identifier in g_win32_getlocale() in 16-bit Unicode.
g_win32_getlocale() however expects an 8-bit encoding. By using
GetLocaleInfoA() explicitly we'll get the identifier back as an ordinary 8-bit
C string.
This patch fixes the mono/tests/threadpool-exceptions5.exe test.
|
|
implementation to gstr which forwards to the system vasprintf when appropriate
|
|
|
|
|
|
--with-overridable-allocators and exposed through mono_set_allocator_vtable
|
|
|
|
eglib uses G_OS_WIN32 instead of HOST_WIN32 for the Windows-specific code.
|
|
Moved ensure_directory_exists in apdomain.c to g_ensure_directory_exists
in eglib/src/gpath.c so it can be reused.
|
|
Get rid of support for older MSVC versions.
|
|
Fixes #41128.
nl_langinfo doesn't query the right system value, it returns ASCII on OSX, for example.
|
|
|
|
Remove ChangeLog files from the repo
|
|
Current Debian packaging puts libtool in its own package (libtool-bin)
leaving only libtoolize in the main package. The mono build process
uses libtoolize not libtool, so during autogen check for libtoolize
not libtool.
|
|
|
|
They weren't updated in the last 6 years and aren't helpful anymore (e.g. by causing unrelated matches during git grep searches).
|
|
access to register contexts.
|
|
to register contexts."
|
|
Reworked coop GC stack handling in platforms with restricted access to register contexts.
|
|
The two known ways to access the environment variables are no longer allowed Apple.
Until something blessed by them is found, we'll provide no way to list all the envvars
of the current process.
|
|
access to register contexts.
|
|
eglib: checking locale_charset function availability
|
|
Fixes the Cygwin build, see https://github.com/mono/mono/pull/1966.
|
|
This patch checks if locale_charset function is availabe in
libiconv or libcharset and changes the linking options accordingly.
|
|
Do not build libeglib-static.a
|
|
[eglib] Prefer <langinfo.h> to <localcharset.h>
|
|
1) libeglib.a is already a static library
2) It is not used anywhere, unlike other lib*-static.a
libraries in the Mono runtime
|
|
They're not available on WatchOS.
|
|
This patch improves the handling of vasprint checking.
It switches the unneeded have_vasprintf variable with the
AC_CHECK_FUNCS defined ac_cv_func_vasprintf one.
|
|
This patch initialize properly have_vasprintf in case vasprint function is found.
Solves multiple definition of `vasprintf' error in case vasprint is not properly detected.
|
|
|
|
For platforms that have external libiconv
located in some non-default directory (e.g. /usr/local/lib)
it is very difficult to force libtool to pick
up a static libiconv.a when needed.
We currently build eglib as a static library,
and then we continue to link eglib (with -leglib)
to other binaries and libraries.
As -leglib is a static library, we should either
1) incorporate the contents of libiconv.a into
libeglib.a (therefore we would _require_
libiconv.a to be installed).
2) prepare stub libiconv.la file and provide it
to all libeglib.a consumers as a dependency.
We should not just detect HAVE_LOCALCHARSET_H,
add it to CPPFLAGS and then continue without
linking libiconv properly as a static library;
This manifests with the error message during
linking:
gunicode.c:223: undefined reference to `locale_charset'
This workaround makes us look for <langinfo.h>
first, which - if available - will be there in
the standard C library. This fixes the gunicode.c
problem for FreeBSD and similar platforms, that
may install GNU iconv as an add-on library.
|
|
|
|
Any port that writes to Environment.SpecialFolder.Personal during build
or when running tests may end up with files outside of stage area that
aren't cleaned up by the ports framework. The issue lies with Mono
looking in /etc/passwd first and only if no entry found there in HOME.
Patch based on discussion in
https://github.com/mono/mono/pull/371
Obtained from: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193426
|
|
This bug manifested itself as files being written to disk with 0 bytes.
Fixes the AOT compiler on Windows not working properly.
https://bugzilla.xamarin.com/show_bug.cgi?id=27900
|
|
|
|
|
|
the duplicate on io-layer and exports the eglib one.
|
|
|
|
versions.
|
|
|
|
|
|
|
|
the cross compiler.
|
|
|
|
asl_vlog last parameter is a va_list and giving it a char* leads to crash
which calls our native unhandled exception handler, which also tries to
log what happens making the watchdog unhappy about the food quality
0x000000008badf00d
|
|
Compilation of eglib/src/goutput.c was broken in commit 989165e1:
mono/eglib/src/goutput.c: In function 'monoeg_log_default_handler':
mono/eglib/src/goutput.c:159:75: error: 'args' undeclared (first use in this function)
__android_log_vprint (to_android_priority (log_level), log_domain, "%s", args);
^
mono/eglib/src/goutput.c:159:75: note: each undeclared identifier is reported only once for each function it appears in
mono/eglib/src/goutput.c: In function 'default_stdout_handler':
mono/eglib/src/goutput.c:168:2: error: incompatible type for argument 4 of '__android_log_vprint'
__android_log_vprint (ANDROID_LOG_ERROR, "mono", "%s", message);
^
mono/eglib/src/goutput.c:139:0:
$ANDROID_NDK_PATH/platforms/android-4/arch-arm/usr/include/android/log.h:109:5: note: expected 'va_list' but argument is of type 'const gchar *'
int __android_log_vprint(int prio, const char *tag,
^
mono/eglib/src/goutput.c: In function 'default_stderr_handler':
mono/eglib/src/goutput.c:175:2: error: incompatible type for argument 4 of '__android_log_vprint'
__android_log_vprint (ANDROID_LOG_ERROR, "mono", "%s", message);
^
(The cause of the breakage is that __android_log_vprint() takes a
va_args parameter, which is no longer present in 989165e1.)
Use __android_log_write() instead of __android_log_vprint().
Note: __android_log_write() writes a "simple string" to `adb logcat`,
meaning there is no printf(3)-style formatting applied.
|
|
|