This makes binaries far easier to debug, during operation and for post-crash
.dmp analysis. Do not alter /Gs optimizations per brane.
Reviewed by: stoddard, brane
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
1. study.c's pointer arg didn't jive with pcre_fullinfo()'s prototype,
however there was no (trivial) way to get them to concur. Cast in
this case was the least of several evils.
2. byteflip had an error for high-bit set bytes, because right shift
signed is allowed to extend the sign bit. These had to be unsigned,
and the real_pcre types were the safest way to do this.
3. split byteflip into byteflip2/4, to drop size truncation emits,
as the arguments are unambigiously 16 or 32 bits as defined
in pcre_internal.h.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157948 13f79535-47bb-0310-9956-ffa450edef68
NEVER NEVER screw around with redeclaring AP_ macros and constants.
If the compiler won't pick them up, e.g., AP_DECLARE, ya've done
something wrong from the start.
All httpd/ap headers depend on httpd.h - plain and simple, so this
un-convolutes the unusual order here.
STATIC has become PCRE_STATIC, along with some other odd definitions.
The only remaining emit is that _pcre_free export is imported, which
implies something is unusual with the declaration. Still researching.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154207 13f79535-47bb-0310-9956-ffa450edef68
internalise the ap_reg*<->PCRE wrapper:
* configure.in: Add srclib/pcre to the include path.
* include/ap_regex.h: Renamed from include/pcreposix.h. Prefix all
constants with AP_; prefix all functions and types with ap_. Define
AP_DECLARE to nothing if necessary. Remove regcomp error codes.
* include/httpd.h: Include ap_regex.h not pcreposix.h.
(ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/.
(ap_regexec, ap_regerror): Prototypes moved to ap_regex.h.
* server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree):
Adjust for ap_ prefixed types. (ap_regexec, ap_regerror): Removed.
* server/Makefile.in: Build util_pcre.c.
* server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use
of PCRE-internals to do error mapping; rename types to add AP_/ap_
prefixes as above. Use APR includes. (ap_regerror): Use apr_snprintf.
* srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la.
* modules/*: Update to use new type and constant names.
PR: 27750 (part one)
Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153384 13f79535-47bb-0310-9956-ffa450edef68
* srclib/pcre/ltmain.sh, ltconfig, config.guess, config.sub: Remove
files which are unneeded when pcre is built by the httpd build system.
* srclib/pcre/RunTest: Remove generated file, a leftover from an older
version of pcre.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105820 13f79535-47bb-0310-9956-ffa450edef68
the older .dbg format symbols are not worth the interference with
generating complete .pdb symbolic debugging databases.
This patch further eliminates pdbtype:sept flags that interfere with
deciphering local symbols and type information.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98970 13f79535-47bb-0310-9956-ffa450edef68
fairly redundant when you retain rich .pdb debugging symbol files. We
have rarely used them, and generally .dbg and .pdb files prove much more
useful for the cases we have.
While eliminating /map files, we are also shrinking the size of the .dbg
files by stripping 'private' symbol information. Really this means less
rich diagnostics from Dr. Watson on NT or Win9x when they query the .dbg
symbols in creating a DrWatson log file. But it's more than compensated
for on newer OS'es where Dr. Watson will query the .pdb symbols, on all
Win32 flavors when WinDbg is used with the .pdb symbols, and the fact that
the distribution of binary symbols will use less bandwidth when less
information is duplicated from the .pdb format into the .dbg files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98743 13f79535-47bb-0310-9956-ffa450edef68
and .dbg files (older debuggers and Dr. Watson-type utilities
on WinNT or Win9x don't support the newer .pdb flavor.)
[Allen Edwards, William Rowe]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68
not overwriting dstname ... this flavor is certain not to emit a file
exists error [with the obvious caviat - if it's write protected, your
problem.] Much simpler than /y, <.y or set copycmd fooness.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95265 13f79535-47bb-0310-9956-ffa450edef68
so that they can be separated - use an installed APR and APR-util with
httpd-2.0. This is not expected to achieve full separation, but is
merely the first step in the process. The tree should still be buildable
in the source-only case.
This commit does the following things:
- Use the standard find_apr.m4 and find_apu.m4 m4 macro files that flood and
Subversion already use for locating APR and APR-util. This adds the
--with-apr and --with-apr-util configure options.
- Stop using APRVARS and export_vars.sh.
- Use apr-config and apu-config to determine dependencies.
- Add AP_BUILD_SRCLIB_DIRS and AP_CLEAN_SRCLIB_DIRS values (names stink)
to dynamically figure out what subdirs in srclib we will build.
(What we really want to do is set one value - go L->R on build and
R->L on clean. I can't think of a way to do this.)
- If we are using APR and APR-util that are already installed, don't
specify them in srclib. (This still needs some work I bet.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95061 13f79535-47bb-0310-9956-ffa450edef68
config.guess/config.sub files to be identical. Previously, we had three
different versions of the guess files - now they are the same.
I attempted to merge in ASF changes that were marked and still needed.
Please verify that these work on your platform. (Particular attention
is required for the IBM platforms.)
Part of PR 7818 stems from the fact that the bundled expat did not have an
included config.guess/config.sub. Therefore, it would take the config.guess
from the system. Icarus's autoconf/libtool is very old (2.13/1.3.5). The
machine that was used to roll 2.0.32 had a recent autoconf/libtool which
explains the behavior that Sander saw in the PR. Therefore, we now
explicitly provide a config.guess/.sub for the bundled expat so that
all of the versions are in sync. This should minimize configuration
problems.
pcre was using a config.guess that was imported when Brian made the 3.9
import. It did not have the Apache modifications, but seems to have
had the Darwin changes. Go figure. Sync it up as well.
PR: 7818
Obtained from: GNU FSF - ftp.gnu.org/gnu/config
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94671 13f79535-47bb-0310-9956-ffa450edef68
of a malloc'ed buffer in regexec() in cases where the required
buffer size is small.
This will help us avoid a malloc/free pair when executing mod_rewrite
rules that use $1/$2/etc to reference sequences in the matched pattern.
Note: I've also submitted this change as a patch for PCRE, but because
the next PCRE release isn't planned until later this year I'm
committing it to the httpd-2.0 copy of PCRE in the meantime.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94069 13f79535-47bb-0310-9956-ffa450edef68