* Add generic platform support for Linux/m68k
* Include sem_t when determining values for FB_ALIGNMENT and FB_DOUBLE_ALIGN
On m68k, 'long long' is 16-bit aligned while 'sem_t' is 32-bit aligned
and we must therefore include 'sem_t' when determining the values for
FB_ALIGNMENT and FB_DOUBLE_ALIGN. Otherwise, the futex system call
will fail on these systems.
* Don't try to include headers for __cpuid on non-x86 targets
* Make sure that the version scripts include _IO_stdin_used on Linux
The GNU C library supports two ABIs for libio, one is the pre-2.1
ABI and the other is the current one. In order to determine which
ABI is to be used, the C library checks whether the _IO_stdin_used
symbol is exported by the executable. In case the symbol is present,
the new ABI is assumed, if the symbol is missing, the old ABI is
assumed. Thus, if an application is linked against a modern version
of glibc, it must export the _IO_stdin_used symbol as otherwise the
executable can crash or provoke other unexpected behavior on some
architectures like PowerPC or MIPS because the C library is using
the old ABI in this case.
This change is done because using strongly-typed C++11 enums, prefixes are removed from enum items
(as they're scoped) and that has a big tendency to clash with generated parser defines.
Windows build untested.
It fixes bug CORE-5337 : The subquery in the insert list expressions ignore the changes made earlier in the same executable block.
Note, existing procedures and triggers should be recompiled to have new BLR code.
It fixed bugs
CORE-5322 : Cascade deletion in self-referencing table could raise "no current record for fetch operation" error), and
CORE-5142 : Error "no current record to fetch" if some record is to be deleted both by the statement itself and by some trigger fired during statement execution