Another problem is that the backtrace facility wasn't being
enabled for non-Linux targets even if the target OS has the
backtrace functions. Also, the stacktrace functions inside
mysqltest were being used without proper checks for their
presence in the build.
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.
The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.
added a rule that use gcc to generate preprocessor output (gcc -E)
that can be then compared to a already generated output using
the diff utility.
Ran make test on the repository to verify changes.
Corrected calculation of version id, incorrect last two digits if < 10
Keep "sp1" or "a" in MYSQL_NO_DASH_VERSION, to set correct version in
RPM spec file
Added MYSQL_NUMERIC_VERSION that is like MYSQL_NO_DASH_VERSION before
Added clear doc how the different version variables differ
SocketServer.cpp:
Corrected typo in debug error message
floating point numbers
Some math functions did not check if the result is a valid number
(i.e. neither of +-inf or nan).
Fixed by validating the result where necessary and returning NULL in
case of invalid result.
On crashes generate a user-friendly resolved and demangled stack
trace when libc provides the necessary functions (newer libc on i386,
x86_64, powerpc, ia64, alpha and s390). Otherwise print a numeric
stack trace as before, relying on resolve_stack_dump utility.
Patch by Kasper Dupont. No CLA required for this size of patch.
"resolveip" program produces incorrect result if given a hostname
starting with a digit. Someone seems to have thought that names
can not have digits at the beginning.
Instead, use the resolver library to work out the rules of hostnames,
as it will undoubtedly be better at it than we are.
Use compiler provided atomic builtins as a 'backend' for
MySQL's atomic primitives. The builtins are available on
a handful of platforms and compilers.
Removed the auto detection and use of Solaris "libmtmalloc", as it
cause regression on bug#18322. The code removed also prevented
a build without using this library. Users can still compile with
"libmtmalloc", if configuring with "--with-mysqld-libs=-lmtmalloc"
community-server features.
Community server features should be fully integrated into 5.1, but
disabled by default. We never toggle that they're disabled based
on the version number, in the 5.1 line and later.
"Dynamic plugins fail to load on FreeBSD"
ELF executables need to be linked using the -export-dynamic option to
ld(1) for symbols defined in the executable to become visible to dlsym().
Also, do not build plugins on an all-static build.
and the modified values of the compile-related variables used in "configure".
Make the necessary adjustments in "configure.in" and "scripts/Makefile.am".
This fixes bug#31644
Values of *FLAGS that were used for building packages is missed in mysqlbug
as it may well happen with 32- vs 64-bit Linux systems.
This patch was proposed immediately with the report of
Bug #29658 wrong test for static nss checking on linux, doesn't cover all platforms
Always include all sub directories in "make dist"
Removed incorrect comment
configure.in:
Unconditionally list make files in AC_CONFIG_FILES
Removed 'thread_dirs', it is not used
Minor cleanup
compile-dist:
Simplified the configure line needed for "make dist" to get it all
zlib.m4, ssl.m4:
Unconditionally list make files in AC_CONFIG_FILES
Makefile.am:
Removed DIST_SUBDIRS not needed
Don't copy soft links as files into source package
make sure that if builder configured with a non-standard (!= 3306)
default TCP port that value actually gets used throughout. if they
didn't configure a value, assume "use a sensible default", which
will be read from /etc/services or, failing that, from the factory
default. That makes the order of preference
- command-line option
- my.cnf, where applicable
- $MYSQL_TCP_PORT environment variable
- /etc/services (unless configured --with-tcp-port)
- default port (--with-tcp-port=... or factory default)
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
mysqld hasn't been built on AIX with ndb-everything in quite a while.
this allowed a variety of changes to be added that broke the AIX build
for both the GNU and IBM compilers (but the IBM suite in particular).
Changeset lets build to complete on AIX 5.2 for users of the GNU and
the IBM suite both. Tudo bem?
to "my_config.h". Not to pollute the top directory, and to get more control
over what is included. Made the include path for "libedit" pick up its own
"config.h" first.
Reorder structure elements to make structures smaller and faster on 64 bit systems
This is a first step in cleaning up the client include files (but should be enough to allow us to do future fixes without breaking the library)
This change is part of WL#2872, Make client library extensible.
Added --with-system-type=<systype> and --with-machine-type=<machtype>
options, to be able to override the one detected, for --version strings
field.cc, field.h, listener.cc:
C++ compatibility change for IBM VisualAge 6 and i5/OS
In many cases, binaries can no longer dump core after calling setuid().
Where the PR_SET_DUMPABLE macro is set, use the prctl() system call
to tell the kernel that it's allowed to dump the core of the server.
Don't try determine stack direction at configure time
compiler_flag.m4:
Use AC_TRY_COMPILE and AC_TRY_LINK instead of AC_TRY_RUN where possible
misc.m4, configure.in:
Use fourth argument to AC_TRY_RUN, to be used in cross compilation
Don't try determine stack direction at configure time
- Since isinf() portability across various platforms and
compilers is a complicated question, we should not use
it directly. Instead, the my_isinf() macro should be used,
which is defined as an alias to the system-defined isinf()
if it is safe to use, or a workaround implementation otherwise
DragonflyBSD misc patches
The bug reporter anticipated a problem, instead of experiencing one.
IRC conversation:
<xtraeme> sem_init is defined in librt on NetBSD
solaris uses libposix4 iirc
that's why I sent a patch
<chadmiller> xtraeme: Agreed. But, AFAICT, mysql doesn't use
sem_init() anywhere. Thus my confusion.
<xtraeme> I didn't verify that, but I saw that sem_init wasn't detected
correctly...
why are you checking for sem_init if it's unused then? :-)
<chadmiller> xtraeme: In recent autoconf scripts, we change it to test
for sched_yield() .
<xtraeme> that's ok then
sched_yield is in libc
feel free to close the bug report then :-)
Since isinf() portability across various platforms and compilers is a complicated question, we should not use it directly. Instead, the my_isinf() macro should be used, which is defined as an alias to the system-defined isinf() if it is safe to use, or a workaround implementation otherwise.
renamed. Some new THD proc_info states are new. Directories must be
encountered in make in a specific order, to have symlinks already set.
Move community-server-specific tests into own tests, so that we can
exempt them from testing on enterprise servers.
Add a new autoconf paremeter --{en,dis}able-community-features . The
default is disable for enterprise servers.
Though this is a 5.0 tree, it is only to be merged into the 5.0-community
tree and the global 5.1 tree, never to the 5.0-enterprise tree.
not some other tool (file system checker on Tru64).
Patch originally supplied by Peter O'Gorman, slightly modified by me.
Bug#27739 "build fails on Tru64 due to icheck test in configure"
Replaced hardcoded sover reference with variable.
Removed references to added manpages.
---
BUG#27769
Cleaned up some things to make building the packages go a little smoother.
---
debian/rules really does need to be called from the source root.
---
Fixed two problems with the build caused by adding debian to the source tree
---
Left off the debian/ prefix to the Makefile filter.
---
BUG#27769 - MySQL should include debian packaging dir
Changed substitution variables to match already existing autoconf vars.
Generate debian/control and debian/defs.mk from autoconf now, since we run that
to make a source package.
---
Corrected incorrect variable name
---
Renamed template files to have shorter names.
---
Moved generation of debian/control to dist-hook so make clean won't eat it.
---
A few final changes to make debs build from a source tarball dist.
also control the list of man pages installed, so that they correspond better to the binaries.
This is the second version of this fix, including review comments.
---
Removed reference to debian svn location of debian dir.
Changed verbage of comment to appease Timothy.
---
Removed added manpages that aren't appropriate for our build.
---
Added debian dir to list of dist targets.
Added list of files needed to be distributed in debian dir.
---
Added semi-colons to fix syntax error.
---
BUG#27769 MySQL should include debian packaing dir
Added debian/Makefile to configure.in to support make dist.
Only require the more recent zlibCompileFlags() when
building the server, client zlib don't need it.
Makefile.am:
Always build the bundled zlib static only
configure.in:
Look for dlopen() even if --with-mysqld-ldflags constains "-static",
as this is not the same as the flag to "ld", it just informs
"libtool" to link static with libraries created part of the build,
even if there exists shared versions.
make_binary_distribution.sh:
Real "mysqlmanager" executable might be in ".libs"
B-g#27427: resolveip fails on hostnames with a leading digit
We need inet_aton for the extra/resolveip tool. Some OSes put this
in nonstandard libraries.