diff options
| author | Andres Freund | 2022-07-18 01:50:14 +0000 |
|---|---|---|
| committer | Andres Freund | 2022-07-18 01:50:14 +0000 |
| commit | 8cf64d35eaccab967c51d8bccf2c1babe3f84715 (patch) | |
| tree | 03c5460d43f972d67d1ed1b59d061465a04e48cd /src | |
| parent | 5050fe5458d16387728c0dd13eee9517fe4bce13 (diff) | |
Mark all symbols exported from extension libraries PGDLLEXPORT.
This is in preparation for defaulting to -fvisibility=hidden in extensions,
instead of relying on all symbols in extensions to be exported.
This should have been committed before 089480c0770, but something in my commit
scripts went wrong.
Author: Andres Freund <andres@anarazel.de>
Reviewed-By: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/20211101020311.av6hphdl6xbjbuif@alap3.anarazel.de
Diffstat (limited to 'src')
| -rw-r--r-- | src/include/fmgr.h | 2 | ||||
| -rw-r--r-- | src/pl/plpython/plpy_elog.h | 10 | ||||
| -rw-r--r-- | src/pl/plpython/plpy_typeio.h | 36 | ||||
| -rw-r--r-- | src/pl/plpython/plpy_util.h | 8 | ||||
| -rw-r--r-- | src/test/modules/test_shm_mq/test_shm_mq.h | 2 | ||||
| -rw-r--r-- | src/test/modules/worker_spi/worker_spi.c | 2 |
6 files changed, 30 insertions, 30 deletions
diff --git a/src/include/fmgr.h b/src/include/fmgr.h index f251ac9ba2b..380a82b9de3 100644 --- a/src/include/fmgr.h +++ b/src/include/fmgr.h @@ -413,7 +413,7 @@ typedef const Pg_finfo_record *(*PGFInfoFunction) (void); * info function, since authors shouldn't need to be explicitly aware of it. */ #define PG_FUNCTION_INFO_V1(funcname) \ -extern Datum funcname(PG_FUNCTION_ARGS); \ +extern PGDLLEXPORT Datum funcname(PG_FUNCTION_ARGS); \ extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void); \ const Pg_finfo_record * \ CppConcat(pg_finfo_,funcname) (void) \ diff --git a/src/pl/plpython/plpy_elog.h b/src/pl/plpython/plpy_elog.h index e02ef4ffe9f..dc65f2f6ee2 100644 --- a/src/pl/plpython/plpy_elog.h +++ b/src/pl/plpython/plpy_elog.h @@ -34,13 +34,13 @@ extern PyObject *PLy_exc_spi_error; } while(0) #endif /* HAVE__BUILTIN_CONSTANT_P */ -extern void PLy_elog_impl(int elevel, const char *fmt,...) pg_attribute_printf(2, 3); +extern PGDLLEXPORT void PLy_elog_impl(int elevel, const char *fmt,...) pg_attribute_printf(2, 3); -extern void PLy_exception_set(PyObject *exc, const char *fmt,...) pg_attribute_printf(2, 3); +extern PGDLLEXPORT void PLy_exception_set(PyObject *exc, const char *fmt,...) pg_attribute_printf(2, 3); -extern void PLy_exception_set_plural(PyObject *exc, const char *fmt_singular, const char *fmt_plural, - unsigned long n,...) pg_attribute_printf(2, 5) pg_attribute_printf(3, 5); +extern PGDLLEXPORT void PLy_exception_set_plural(PyObject *exc, const char *fmt_singular, const char *fmt_plural, + unsigned long n,...) pg_attribute_printf(2, 5) pg_attribute_printf(3, 5); -extern void PLy_exception_set_with_details(PyObject *excclass, ErrorData *edata); +extern PGDLLEXPORT void PLy_exception_set_with_details(PyObject *excclass, ErrorData *edata); #endif /* PLPY_ELOG_H */ diff --git a/src/pl/plpython/plpy_typeio.h b/src/pl/plpython/plpy_typeio.h index d11e6ae1b89..5417f0945d2 100644 --- a/src/pl/plpython/plpy_typeio.h +++ b/src/pl/plpython/plpy_typeio.h @@ -147,29 +147,29 @@ struct PLyObToDatum }; -extern PyObject *PLy_input_convert(PLyDatumToOb *arg, Datum val); -extern Datum PLy_output_convert(PLyObToDatum *arg, PyObject *val, - bool *isnull); +extern PGDLLEXPORT PyObject *PLy_input_convert(PLyDatumToOb *arg, Datum val); +extern PGDLLEXPORT Datum PLy_output_convert(PLyObToDatum *arg, PyObject *val, + bool *isnull); -extern PyObject *PLy_input_from_tuple(PLyDatumToOb *arg, HeapTuple tuple, - TupleDesc desc, bool include_generated); +extern PGDLLEXPORT PyObject *PLy_input_from_tuple(PLyDatumToOb *arg, HeapTuple tuple, + TupleDesc desc, bool include_generated); -extern void PLy_input_setup_func(PLyDatumToOb *arg, MemoryContext arg_mcxt, - Oid typeOid, int32 typmod, - struct PLyProcedure *proc); -extern void PLy_output_setup_func(PLyObToDatum *arg, MemoryContext arg_mcxt, - Oid typeOid, int32 typmod, - struct PLyProcedure *proc); +extern PGDLLEXPORT void PLy_input_setup_func(PLyDatumToOb *arg, MemoryContext arg_mcxt, + Oid typeOid, int32 typmod, + struct PLyProcedure *proc); +extern PGDLLEXPORT void PLy_output_setup_func(PLyObToDatum *arg, MemoryContext arg_mcxt, + Oid typeOid, int32 typmod, + struct PLyProcedure *proc); -extern void PLy_input_setup_tuple(PLyDatumToOb *arg, TupleDesc desc, - struct PLyProcedure *proc); -extern void PLy_output_setup_tuple(PLyObToDatum *arg, TupleDesc desc, - struct PLyProcedure *proc); +extern PGDLLEXPORT void PLy_input_setup_tuple(PLyDatumToOb *arg, TupleDesc desc, + struct PLyProcedure *proc); +extern PGDLLEXPORT void PLy_output_setup_tuple(PLyObToDatum *arg, TupleDesc desc, + struct PLyProcedure *proc); -extern void PLy_output_setup_record(PLyObToDatum *arg, TupleDesc desc, - struct PLyProcedure *proc); +extern PGDLLEXPORT void PLy_output_setup_record(PLyObToDatum *arg, TupleDesc desc, + struct PLyProcedure *proc); /* conversion from Python objects to C strings --- exported for transforms */ -extern char *PLyObject_AsString(PyObject *plrv); +extern PGDLLEXPORT char *PLyObject_AsString(PyObject *plrv); #endif /* PLPY_TYPEIO_H */ diff --git a/src/pl/plpython/plpy_util.h b/src/pl/plpython/plpy_util.h index 7c6577925ea..6f491b0f95b 100644 --- a/src/pl/plpython/plpy_util.h +++ b/src/pl/plpython/plpy_util.h @@ -8,10 +8,10 @@ #include "plpython.h" -extern PyObject *PLyUnicode_Bytes(PyObject *unicode); -extern char *PLyUnicode_AsString(PyObject *unicode); +extern PGDLLEXPORT PyObject *PLyUnicode_Bytes(PyObject *unicode); +extern PGDLLEXPORT char *PLyUnicode_AsString(PyObject *unicode); -extern PyObject *PLyUnicode_FromString(const char *s); -extern PyObject *PLyUnicode_FromStringAndSize(const char *s, Py_ssize_t size); +extern PGDLLEXPORT PyObject *PLyUnicode_FromString(const char *s); +extern PGDLLEXPORT PyObject *PLyUnicode_FromStringAndSize(const char *s, Py_ssize_t size); #endif /* PLPY_UTIL_H */ diff --git a/src/test/modules/test_shm_mq/test_shm_mq.h b/src/test/modules/test_shm_mq/test_shm_mq.h index 0310caf50bd..8f97be78d3e 100644 --- a/src/test/modules/test_shm_mq/test_shm_mq.h +++ b/src/test/modules/test_shm_mq/test_shm_mq.h @@ -40,6 +40,6 @@ extern void test_shm_mq_setup(int64 queue_size, int32 nworkers, shm_mq_handle **input); /* Main entrypoint for a worker. */ -extern void test_shm_mq_main(Datum) pg_attribute_noreturn(); +extern PGDLLEXPORT void test_shm_mq_main(Datum) pg_attribute_noreturn(); #endif diff --git a/src/test/modules/worker_spi/worker_spi.c b/src/test/modules/worker_spi/worker_spi.c index b37ef8beb60..d63a7631ad2 100644 --- a/src/test/modules/worker_spi/worker_spi.c +++ b/src/test/modules/worker_spi/worker_spi.c @@ -46,7 +46,7 @@ PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(worker_spi_launch); -void worker_spi_main(Datum) pg_attribute_noreturn(); +PGDLLEXPORT void worker_spi_main(Datum) pg_attribute_noreturn(); /* GUC variables */ static int worker_spi_naptime = 10; |
