Remove fe_memutils from libpgcommon_shlib
libpq must not use palloc/pfree. It's not allowed to exit on allocation failure, and mixing the frontend pfree with malloc is architecturally unsound. Remove fe_memutils from the shlib build entirely, to keep devs from accidentally depending on it in the future. Author: Jacob Champion <jacob.champion@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/CAOYmi+=pg=W5L1h=3MEP_EB24jaBu2FyATrLXqQHGe7cpuvwyg@mail.gmail.com
This commit is contained in:
parent
94980c4567
commit
f1976df5ea
@ -102,14 +102,15 @@ endif
|
|||||||
# A few files are currently only built for frontend, not server.
|
# A few files are currently only built for frontend, not server.
|
||||||
# logging.c is excluded from OBJS_FRONTEND_SHLIB (shared library) as
|
# logging.c is excluded from OBJS_FRONTEND_SHLIB (shared library) as
|
||||||
# a matter of policy, because it is not appropriate for general purpose
|
# a matter of policy, because it is not appropriate for general purpose
|
||||||
# libraries such as libpq to report errors directly.
|
# libraries such as libpq to report errors directly. fe_memutils.c is
|
||||||
|
# excluded because libpq must not exit() on allocation failure.
|
||||||
OBJS_FRONTEND_SHLIB = \
|
OBJS_FRONTEND_SHLIB = \
|
||||||
$(OBJS_COMMON) \
|
$(OBJS_COMMON) \
|
||||||
fe_memutils.o \
|
|
||||||
restricted_token.o \
|
restricted_token.o \
|
||||||
sprompt.o
|
sprompt.o
|
||||||
OBJS_FRONTEND = \
|
OBJS_FRONTEND = \
|
||||||
$(OBJS_FRONTEND_SHLIB) \
|
$(OBJS_FRONTEND_SHLIB) \
|
||||||
|
fe_memutils.o \
|
||||||
logging.o
|
logging.o
|
||||||
|
|
||||||
# foo.o, foo_shlib.o, and foo_srv.o are all built from foo.c
|
# foo.o, foo_shlib.o, and foo_srv.o are all built from foo.c
|
||||||
|
@ -101,17 +101,18 @@ common_sources_cflags = {
|
|||||||
# A few files are currently only built for frontend, not server.
|
# A few files are currently only built for frontend, not server.
|
||||||
# logging.c is excluded from OBJS_FRONTEND_SHLIB (shared library) as
|
# logging.c is excluded from OBJS_FRONTEND_SHLIB (shared library) as
|
||||||
# a matter of policy, because it is not appropriate for general purpose
|
# a matter of policy, because it is not appropriate for general purpose
|
||||||
# libraries such as libpq to report errors directly.
|
# libraries such as libpq to report errors directly. fe_memutils.c is
|
||||||
|
# excluded because libpq must not exit() on allocation failure.
|
||||||
|
|
||||||
common_sources_frontend_shlib = common_sources
|
common_sources_frontend_shlib = common_sources
|
||||||
common_sources_frontend_shlib += files(
|
common_sources_frontend_shlib += files(
|
||||||
'fe_memutils.c',
|
|
||||||
'restricted_token.c',
|
'restricted_token.c',
|
||||||
'sprompt.c',
|
'sprompt.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
common_sources_frontend_static = common_sources_frontend_shlib
|
common_sources_frontend_static = common_sources_frontend_shlib
|
||||||
common_sources_frontend_static += files(
|
common_sources_frontend_static += files(
|
||||||
|
'fe_memutils.c',
|
||||||
'logging.c',
|
'logging.c',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user