diff options
author | Ryan Lortie <desrt@desrt.ca> | 2012-07-08 11:15:11 -0400 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2012-07-08 11:15:11 -0400 |
commit | 4228ef3194fff11dcdcdce0b61aa0474fffb066d (patch) | |
tree | 7f6fdd7df35a63913f70519ff5461cbf162807b1 | |
parent | 1cebe105ca3d2a1d4c23fa0ed33af6a79dbf4fec (diff) | |
download | dconf-4228ef3194fff11dcdcdce0b61aa0474fffb066d.tar.gz |
engine/: mark some structs 'extern' in a header
This should have been done in the first place but it went unnoticed
because the linker has an odd habit of permitting two structs with the
same name to be defined.
It only became a problem when optimisation was turned on and GCC noticed
that nobody was writing to one particular copy of that struct and
assumed that its contents would always be all-zeros (which is an
assumption that later became untrue once the linker had done its strange
magic).
-rw-r--r-- | engine/dconf-engine-source-private.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engine/dconf-engine-source-private.h b/engine/dconf-engine-source-private.h index 1b6faad..822354a 100644 --- a/engine/dconf-engine-source-private.h +++ b/engine/dconf-engine-source-private.h @@ -25,7 +25,7 @@ #include "dconf-engine-source.h" -G_GNUC_INTERNAL const DConfEngineSourceVTable dconf_engine_source_user_vtable; -G_GNUC_INTERNAL const DConfEngineSourceVTable dconf_engine_source_system_vtable; +G_GNUC_INTERNAL extern const DConfEngineSourceVTable dconf_engine_source_user_vtable; +G_GNUC_INTERNAL extern const DConfEngineSourceVTable dconf_engine_source_system_vtable; #endif /* __dconf_engine_source_private_h__ */ |