You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.2 KiB
63 lines
2.2 KiB
|
|
Reduce size of httpd binary by telling linker to export all symbols |
|
from libmain.a, rather than bloating the symbol table with ap_hack_* |
|
to do so indirectly. |
|
|
|
Upstream: https://svn.apache.org/r1861685 (as new default-off configure option) |
|
|
|
diff --git a/Makefile.in b/Makefile.in |
|
index 40c7076..ac98e5f 100644 |
|
--- a/Makefile.in |
|
+++ b/Makefile.in |
|
@@ -4,8 +4,15 @@ CLEAN_SUBDIRS = test |
|
|
|
PROGRAM_NAME = $(progname) |
|
PROGRAM_SOURCES = modules.c |
|
-PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(HTTPD_LIBS) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) |
|
+PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) \ |
|
+ $(PROGRAM_LDDEPS) \ |
|
+ $(HTTPD_LIBS) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) |
|
PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c |
|
+PROGRAM_LDDEPS = \ |
|
+ $(BUILTIN_LIBS) \ |
|
+ $(MPM_LIB) \ |
|
+ -Wl,--whole-archive,server/.libs/libmain.a,--no-whole-archive \ |
|
+ os/$(OS_DIR)/libos.la |
|
PROGRAM_DEPENDENCIES = \ |
|
server/libmain.la \ |
|
$(BUILTIN_LIBS) \ |
|
diff --git a/server/Makefile.in b/server/Makefile.in |
|
index 8111877..f00bb3f 100644 |
|
--- a/server/Makefile.in |
|
+++ b/server/Makefile.in |
|
@@ -12,7 +12,7 @@ LTLIBRARY_SOURCES = \ |
|
connection.c listen.c util_mutex.c \ |
|
mpm_common.c mpm_unix.c mpm_fdqueue.c \ |
|
util_charset.c util_cookies.c util_debug.c util_xml.c \ |
|
- util_filter.c util_pcre.c util_regex.c exports.c \ |
|
+ util_filter.c util_pcre.c util_regex.c \ |
|
scoreboard.c error_bucket.c protocol.c core.c request.c ssl.c provider.c \ |
|
eoc_bucket.c eor_bucket.c core_filters.c \ |
|
util_expr_parse.c util_expr_scan.c util_expr_eval.c |
|
diff --git a/server/main.c b/server/main.c |
|
index 62e06df..17c09ee 100644 |
|
--- a/server/main.c |
|
+++ b/server/main.c |
|
@@ -835,17 +835,3 @@ int main(int argc, const char * const argv[]) |
|
return !OK; |
|
} |
|
|
|
-#ifdef AP_USING_AUTOCONF |
|
-/* This ugly little hack pulls any function referenced in exports.c into |
|
- * the web server. exports.c is generated during the build, and it |
|
- * has all of the APR functions specified by the apr/apr.exports and |
|
- * apr-util/aprutil.exports files. |
|
- */ |
|
-const void *ap_suck_in_APR(void); |
|
-const void *ap_suck_in_APR(void) |
|
-{ |
|
- extern const void *ap_ugly_hack; |
|
- |
|
- return ap_ugly_hack; |
|
-} |
|
-#endif
|
|
|