Commit Graph

91 Commits

Author SHA1 Message Date
Justin Kim
7e70dd88c9 gmodule: Use RTLD_DEFAULT if defined __BIONIC__
This is a partial change of the previous work[0].
On 64 bit Android since android-23, 'handle = dlopen(NULL); dlsym(handle)'
doesn't work. Instead, only 'dlsym(RTLD_DEFAULT)' returns a valid pointer.

However, RTLD_DEFAULT is defined as '(void *) 0x0' on 64bit Android which
is usually used for invalid value so this patch allows the specific case.

[0] 0d81bb4e31

https://bugzilla.gnome.org/show_bug.cgi?id=788270
2017-10-06 21:09:47 +03:00
Sébastien Wilmet
ca82612a6c gmodule/: LGPLv2+ -> LGPLv2.1+
https://bugzilla.gnome.org/show_bug.cgi?id=776504
2017-05-24 11:58:19 +02:00
Christoph Reiter
3525048dc4 gmodule: Remove old win32 codepage ABI compat code
Makes new code link against the normal symbol names again.
Variants with utf8 suffix are there for existing binaries/ABI compat.

https://bugzilla.gnome.org/show_bug.cgi?id=780634
2017-04-06 19:25:29 +02:00
Philip Withnall
553329358c gmodule: Add the visibility attribute to G_MODULE_EXPORT on gcc
For versions of GCC which support it (≥ 4), define G_MODULE_EXPORT as
__attribute__((visibility("default"))). This is normally a no-op, unless
compiling with -fvisibility=hidden, in which case it marks a symbol to
be publicly exported from the library, which is what G_MODULE_EXPORT is
for. Previously G_MODULE_EXPORT has only worked on Windows.

The compatibility check for whether the compiler supports
__attribute__((visibility)) is based on the __GNUC__ define, and is
similar to the check done in configure.ac for defining G_GNUC_INTERNAL.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=778287
2017-03-23 14:58:46 +00:00
Christian Hergert
18a33f72db introspection: use (nullable) or (optional) instead of (allow-none)
If we have an input parameter (or return value) we need to use (nullable).
However, if it is an (inout) or (out) parameter, (optional) is sufficient.

It looks like (nullable) could be used for everything according to the
Annotation documentation, but (optional) is more specific.
2016-11-22 14:14:37 -08:00
Matthias Clasen
bc6ee788b4 docs: let go of &ast;
Since we are no longer using sgml mode, using /&ast; &ast;/ to
escape block comments inside examples does not work anymore.
Switch to using line comments with //
2014-02-14 21:33:36 -05:00
Matthias Clasen
e7fd3de86d Eradicate links and xrefs
These are all replaced by markdown ref links.
2014-02-08 12:26:56 -05:00
Matthias Clasen
3232425785 Docs: replace <literal> by ` 2014-02-06 08:07:16 -05:00
Matthias Clasen
0cc20b7e0b Don't use <filename> in docs
Switch to simpler markdown, `foo`.
2014-02-05 20:17:46 -05:00
Matthias Clasen
306dfb3292 Drop use of the command tag
It is more useful to link to the included man page, anyway.
2014-02-01 15:26:38 -05:00
Matthias Clasen
adf892e96a Annotate all examples with their language
The C ones, at least.
2014-02-01 15:11:49 -05:00
Matthias Clasen
6972264c7d GModule: Move docs away from markup 2014-02-01 11:08:23 -05:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Matthias Clasen
3d42934b71 Docs: don't use the structname tag
Just avoid explicit docbook markup.
2014-01-31 00:29:14 -05:00
Dan Winship
158dde0507 Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIX
In Windows development environments that have it, <unistd.h> is mostly
just a wrapper around several other native headers (in particular,
<io.h>, which contains read(), close(), etc, and <process.h>, which
contains getpid()). But given that some Windows dev environments don't
have <unistd.h>, everything that uses those functions on Windows
already needed to include the correct Windows header as well, and so
there is never any point to including <unistd.h> on Windows.

Also, remove some <unistd.h> includes (and a few others) that were
unnecessary even on unix.

https://bugzilla.gnome.org/show_bug.cgi?id=710519
2013-11-20 09:25:39 -05:00
Dan Winship
7f5b2901cf Remove alleged support for last-millennium Unixes
Remove workarounds for NeXTStep (last released in 1995), SunOS (1994),
HP-UX 9.x (1992) and 10.x (1995), OSF/1 / Digital UNIX / Tru64 UNIX
4.x (1999), and AIX 4.x (1999).

HP-UX 11 implements dlopen(), so dropping support for earlier versions
also lets us remove the HP-UX-specific gmodule-dld.

https://bugzilla.gnome.org/show_bug.cgi?id=710519
2013-11-20 09:16:16 -05:00
Rico Tzschichholz
35d5b60b09 gmodule: Two minor g-i annotations fixes 2013-09-13 21:16:14 +02:00
Dan Winship
4b94c0831e Use 'dumb quotes' rather than `really dumb quotes'
Back in the far-off twentieth century, it was normal on unix
workstations for U+0060 GRAVE ACCENT to be drawn as "‛" and for U+0027
APOSTROPHE to be drawn as "’". This led to the convention of using
them as poor-man's ‛smart quotes’ in ASCII-only text.

However, "'" is now universally drawn as a vertical line, and "`" at a
45-degree angle, making them an `odd couple' when used together.

Unfortunately, there are lots of very old strings in glib, and also
lots of new strings in which people have kept up the old tradition,
perhaps entirely unaware that it used to not look stupid.

Fix this by just using 'dumb quotes' everywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=700746
2013-05-21 11:23:22 -03:00
Matthias Clasen
c182ee1f71 Fix GModule documentation a bit
The documentation for g_module_make_resident was for some reason
in the doc comment for g_module_name.

https://bugzilla.gnome.org/show_bug.cgi?id=679813
2012-07-13 17:37:37 -04:00
Robert Ancell
4143842eb4 Add missing allow-none annotations for function parameters.
Found using:
find . -name '*.c' | xargs grep 'or %NULL' | grep ' \* @' | grep -v '@error' | grep -v allow-none
2012-03-31 20:34:28 +11:00
Stef Walter
7e92997539 documentation fixes
Fixes for gtk-doc warnings.

http://bugzilla.gnome.org/show_bug.cgi?id=66469

https://bugzilla.gnome.org/show_bug.cgi?id=664699
2011-12-13 23:01:51 -05:00
Matthias Clasen
9e19b6fe0f Fix doc formatting 2011-11-17 00:01:18 -05:00
Matthias Clasen
127df9bd83 Move GModule docs inline 2011-11-14 21:22:46 -05:00
Ryan Lortie
2a677d1370 locks: drop _INIT macros
All locks are now zero-initialised, so we can drop the G_*_INIT macros
for them.

Adjust various users around GLib accordingly and change the docs.

https://bugzilla.gnome.org/show_bug.cgi?id=659866
2011-10-02 22:33:10 -04:00
Matthias Clasen
34ce4dd032 Replace static privates by privates
GStaticPrivate is heading for deprecation soon, and GPrivate
can replace these uses now.
2011-10-02 22:11:33 -04:00
Ryan Lortie
b6140c2f89 Port internal GStaticRecMutex users to GRecMutex 2011-09-21 16:09:04 -04:00
Matthias Clasen
1b28408b8b Spelling fixes
Spelling fixes in comments and docs, provided by
Kjartan Maraas in bug 657336.
2011-08-29 14:49:32 -04:00
Matthias Clasen
9b68d9892a Remove a redundant NULL check 2011-06-14 21:06:17 -04:00
Ryan Lortie
8073759f8c Remove all uses of G_CONST_RETURN
Just use 'const'.

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-06-09 11:15:40 -04:00
Emmanuele Bassi
08f0a31289 Revert "Remove all uses of G_CONST_RETURN"
This reverts commit 36741245cc.

The removal has not been discussed, except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:03:28 +00:00
Ryan Lortie
36741245cc Remove all uses of G_CONST_RETURN
Just use 'const'.
2011-03-15 01:32:22 -04:00
Matthias Clasen
90c9ab3178 Fix an include order problem
svn path=/trunk/; revision=7936
2009-03-02 03:56:31 +00:00
Tor Lillqvist
168c4d4708 New file.
2008-07-27  Tor Lillqvist  <tml@novell.com>

	* gmodule.symbols: New file.

	* gmodule.c: Bypass the Windows ABI compatibility symbols on
	64-bit Windows. Thus no need to keep the file name in system
	codepage around on 64-bit Windows either.
	
	* Makefile.am: Produce gmodule.def from gmodule.symbols. Dist
	gmodule.symbols instead of gmodule.def.

	* gmodule.def: Drop from SVN.


svn path=/trunk/; revision=7259
2008-07-27 17:35:46 +00:00
Michael Natterer
70af00fc06 Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent code from
2008-05-05  Michael Natterer  <mitch@imendio.com>

	* Makefile.am. build with G_DISABLE_SINGLE_INCLUDES to prevent
	code from being checked in that breaks the build of applications
	which use G_DISABLE_SINGLE_INCLUDES.

	* gmodule.c: #include "glib.h" instead of "glibconfig.h"


svn path=/trunk/; revision=6877
2008-05-05 15:04:58 +00:00
Matthias Clasen
b15b1eb10e Don't fail to load modules with suffix .la. (#480122, Andrey Tsyvarev)
2007-12-22  Matthias Clasen  <mclasen@redhat.com>

        * gmodule.c (g_module_open): Don't fail to load modules
        with suffix .la.  (#480122, Andrey Tsyvarev)



svn path=/trunk/; revision=6191
2007-12-23 05:50:26 +00:00
Matthias Clasen
5d8a5657c5 Include glibconfig.h before checking G_OS_WIN32.
2007-11-08  Matthias Clasen <mclasen@redhat.com>

        * gmodule.c: Include glibconfig.h before checking G_OS_WIN32.



svn path=/trunk/; revision=5832
2007-11-09 02:33:16 +00:00
Matthias Clasen
9757456e23 Make header include order consistent (#71704, Diego Escalante Urrelo)
2007-11-07  Matthias Clasen <mclasen@redhat.com>

        * *.c: Make header include order consistent (#71704,
        Diego Escalante Urrelo)


svn path=/trunk/; revision=5817
2007-11-08 03:43:46 +00:00
Matthias Clasen
964471d184 Include the module file name to the error message given when module
2007-07-09  Matthias Clasen  <mclasen@redhat.com>

        * gmodule.c (g_module_open): Include the module file
        name to the error message given when module initialization
        fails.  (#448484, Gustavo Carneiro)


svn path=/trunk/; revision=5611
2007-07-09 17:50:28 +00:00
Matthias Clasen
2c79668714 fix include order
svn path=/trunk/; revision=5182
2006-12-31 15:53:44 +00:00
Matthias Clasen
08e5183b36 Clean up includes.
2006-12-28  Matthias Clasen  <mclasen@redhat.com>

        * gmodule.c: Clean up includes.
2006-12-28 05:02:30 +00:00
Matthias Clasen
ea1512221b Handle valid symbols that are NULL correctly. (#385388, Felix Kater)
2006-12-13  Matthias Clasen  <mclasen@redhat.com>

        * gmodule.c (g_module_open):
        * gmodule-dl.c (_g_module_symbol): Handle valid symbols
        that are NULL correctly.  (#385388, Felix Kater)
2006-12-13 15:41:22 +00:00
Tim Janik
5c16431446 applied patch from Christian Persch to support G_DEBUG flags
Mon Sep 11 14:58:56 2006  Tim Janik  <timj@imendio.com>

        * gmodule.c: applied patch from Christian Persch to support
        G_DEBUG flags resident-modules and bind-now-modules, bug #345099.
2006-09-11 13:11:15 +00:00
Matthias Clasen
0f1e8fb313 Silence compiler warnings.
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

	* gmodule.c (parse_libtool_archive): Silence
	compiler warnings.
2005-11-28 18:34:16 +00:00
Tor Lillqvist
a8cf492b2c It's wrong to call g_file_test() with more than one test (both
2004-12-31  Tor Lillqvist  <tml@iki.fi>

	* gmodule.c (g_module_open): It's wrong to call g_file_test() with
	more than one test (both G_FILE_TEST_EXISTS and _IS_REGULAR). (It
	would succeed even if the pathname existed as a nonregular file.)
	Just G_FILE_TEST_IS_REGULAR works fine. (#162594)
2005-01-02 16:03:56 +00:00
Tor Lillqvist
cff51f1f0b Makefile.am gmodule.def Win32 DLL ABI stability cruft like in ../glib.
2004-12-06  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am
	* gmodule.def
	* gmodule.[hc]: Win32 DLL ABI stability cruft like in ../glib.
2004-12-06 15:45:25 +00:00
Tor Lillqvist
f5de060304 Argument is in UTF-8. Use wide character Win32 API if present.
2004-11-04  Tor Lillqvist  <tml@iki.fi>

	* gmodule-win32.c (_g_module_open): Argument is in UTF-8. Use wide
	character Win32 API if present.

	* gmodule.c (parse_libtool_archive, g_module_open): Convert file
	name to UTF-8 before storing in the error message string.

	* gmodule.c (parse_libtool_archive): Use g_open().
2004-11-04 00:20:27 +00:00
Matthias Clasen
1c49b23e91 Set the gmodule suffix to 'a' for aix and use the aix gmodule
Sun Feb 22 02:28:43 2004  Matthias Clasen  <maclas@gmx.de>

	* configure.in: Set the gmodule suffix to 'a' for aix and
	use the aix gmodule implementation.  (#85930, Laurent Vivier)

	Bug #85930, Laurent Vivier:

	* gmodule-ar.c: Implementation of native module management for AIX.
	* gmoduleconf.h.in:
	* gmodule.c: Support gmodule-ar.c
2004-02-22 01:31:24 +00:00
Tim Janik
defca980e4 applied patch from David Schleef <ds@schleef.org> which implements a
Fri Feb 20 02:39:03 2004  Tim Janik  <timj@gtk.org>

        * applied patch from David Schleef <ds@schleef.org> which implements
        a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
        symbol registration.
2004-02-20 01:41:00 +00:00
Owen Taylor
faa29f03ed Properly refcount the main module if it is already open. (#98648)
Tue Dec  3 20:56:19 2002  Owen Taylor  <otaylor@redhat.com>

        * gmodule.c (g_module_open): Properly refcount the
        main module if it is already open. (#98648)
2002-12-04 02:01:27 +00:00
Owen Taylor
92e45a4009 Fix typo when checking if file + module_suffix exists. (Miroslaw
Sun Feb 17 18:15:22 2002  Owen Taylor  <otaylor@redhat.com>

        * gmodule.c (g_module_open): Fix typo when checking
        if file + module_suffix exists. (Miroslaw Dobrzanski-Neumann,
        #71801)
2002-02-17 23:17:52 +00:00