From 609e434fc4c4b4af09e5e92aa75e34ed88ab6710 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sun, 25 Jan 2026 16:16:58 +0100 Subject: [PATCH 1/2] Rename "exported-symbols-versioned.txt" to "exported-symbols-versioned-default.txt" --- .github/workflows/autotools-cmake.yml | 2 +- ...ols-versioned.txt => exported-symbols-versioned-default.txt} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/data/{exported-symbols-versioned.txt => exported-symbols-versioned-default.txt} (100%) diff --git a/.github/workflows/autotools-cmake.yml b/.github/workflows/autotools-cmake.yml index 19a054f2..8d82487e 100644 --- a/.github/workflows/autotools-cmake.yml +++ b/.github/workflows/autotools-cmake.yml @@ -184,7 +184,7 @@ jobs: run: | list_shared_library_symbols_sh="${GITHUB_WORKSPACE}"/.github/workflows/scripts/list-shared-library-symbols.sh if ${symbol_versioning} ; then - exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-versioned.txt + exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-versioned-default.txt else exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-unversioned.txt fi diff --git a/.github/workflows/data/exported-symbols-versioned.txt b/.github/workflows/data/exported-symbols-versioned-default.txt similarity index 100% rename from .github/workflows/data/exported-symbols-versioned.txt rename to .github/workflows/data/exported-symbols-versioned-default.txt From 1e8a94d36c252979424a1af2ced76e1f658bb0e3 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sun, 25 Jan 2026 16:19:27 +0100 Subject: [PATCH 2/2] autotools-cmake.yml: Cover symbol versioning of off-by-default symbols --- .github/workflows/autotools-cmake.yml | 18 ++++- .../exported-symbols-versioned-maximum.txt | 72 +++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/data/exported-symbols-versioned-maximum.txt diff --git a/.github/workflows/autotools-cmake.yml b/.github/workflows/autotools-cmake.yml index 8d82487e..704edb85 100644 --- a/.github/workflows/autotools-cmake.yml +++ b/.github/workflows/autotools-cmake.yml @@ -66,6 +66,17 @@ jobs: -DCMAKE_EXE_LINKER_FLAGS=-Wl,--no-undefined-version -DCMAKE_MODULE_LINKER_FLAGS=-Wl,--no-undefined-version -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--no-undefined-version + - os: ubuntu-24.04 + configure_args: >- + --enable-xml-attr-info + --enable-symbol-versioning + LDFLAGS=-Wl,--no-undefined-version + cmake_args: >- + -DEXPAT_ATTR_INFO=ON + -DEXPAT_SYMBOL_VERSIONING=ON + -DCMAKE_EXE_LINKER_FLAGS=-Wl,--no-undefined-version + -DCMAKE_MODULE_LINKER_FLAGS=-Wl,--no-undefined-version + -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--no-undefined-version defaults: run: shell: bash @@ -180,11 +191,16 @@ jobs: - name: (Linux except MinGW) Check for identical exported symbols from both build systems if: "${{ runner.os == 'Linux' && ! contains(matrix.configure_args, 'mingw') }}" env: + maximum: "${{ contains(matrix.configure_args, '--enable-xml-attr-info') && 'true' || 'false' }}" symbol_versioning: "${{ contains(matrix.configure_args, '--enable-symbol-versioning') && 'true' || 'false' }}" run: | list_shared_library_symbols_sh="${GITHUB_WORKSPACE}"/.github/workflows/scripts/list-shared-library-symbols.sh if ${symbol_versioning} ; then - exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-versioned-default.txt + if ${maximum} ; then + exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-versioned-maximum.txt + else + exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-versioned-default.txt + fi else exported_symbols_txt="${GITHUB_WORKSPACE}"/.github/workflows/data/exported-symbols-unversioned.txt fi diff --git a/.github/workflows/data/exported-symbols-versioned-maximum.txt b/.github/workflows/data/exported-symbols-versioned-maximum.txt new file mode 100644 index 00000000..2fc6eb91 --- /dev/null +++ b/.github/workflows/data/exported-symbols-versioned-maximum.txt @@ -0,0 +1,72 @@ +XML_DefaultCurrent@@LIBEXPAT_1.0.0 +XML_ErrorString@@LIBEXPAT_1.0.0 +XML_ExpatVersionInfo@@LIBEXPAT_1.95.3 +XML_ExpatVersion@@LIBEXPAT_1.95.0 +XML_ExternalEntityParserCreate@@LIBEXPAT_1.0.0 +XML_FreeContentModel@@LIBEXPAT_1.95.6 +XML_GetAttributeInfo@@LIBEXPAT_2.1.0 +XML_GetBase@@LIBEXPAT_1.0.0 +XML_GetBuffer@@LIBEXPAT_1.0.0 +XML_GetCurrentByteCount@@LIBEXPAT_1.1.0 +XML_GetCurrentByteIndex@@LIBEXPAT_1.0.0 +XML_GetCurrentColumnNumber@@LIBEXPAT_1.0.0 +XML_GetCurrentLineNumber@@LIBEXPAT_1.0.0 +XML_GetErrorCode@@LIBEXPAT_1.0.0 +XML_GetFeatureList@@LIBEXPAT_1.95.5 +XML_GetIdAttributeIndex@@LIBEXPAT_1.95.0 +XML_GetInputContext@@LIBEXPAT_1.95.0 +XML_GetParsingStatus@@LIBEXPAT_1.95.8 +XML_GetSpecifiedAttributeCount@@LIBEXPAT_1.1.0 +XML_MemFree@@LIBEXPAT_1.95.6 +XML_MemMalloc@@LIBEXPAT_1.95.6 +XML_MemRealloc@@LIBEXPAT_1.95.6 +XML_ParseBuffer@@LIBEXPAT_1.0.0 +XML_Parse@@LIBEXPAT_1.0.0 +XML_ParserCreate@@LIBEXPAT_1.0.0 +XML_ParserCreate_MM@@LIBEXPAT_1.95.0 +XML_ParserCreateNS@@LIBEXPAT_1.1.0 +XML_ParserFree@@LIBEXPAT_1.0.0 +XML_ParserReset@@LIBEXPAT_1.95.3 +XML_ResumeParser@@LIBEXPAT_1.95.8 +XML_SetAllocTrackerActivationThreshold@@LIBEXPAT_2.7.2 +XML_SetAllocTrackerMaximumAmplification@@LIBEXPAT_2.7.2 +XML_SetAttlistDeclHandler@@LIBEXPAT_1.95.0 +XML_SetBase@@LIBEXPAT_1.0.0 +XML_SetBillionLaughsAttackProtectionActivationThreshold@@LIBEXPAT_2.4.0 +XML_SetBillionLaughsAttackProtectionMaximumAmplification@@LIBEXPAT_2.4.0 +XML_SetCdataSectionHandler@@LIBEXPAT_1.1.0 +XML_SetCharacterDataHandler@@LIBEXPAT_1.0.0 +XML_SetCommentHandler@@LIBEXPAT_1.1.0 +XML_SetDefaultHandlerExpand@@LIBEXPAT_1.1.0 +XML_SetDefaultHandler@@LIBEXPAT_1.0.0 +XML_SetDoctypeDeclHandler@@LIBEXPAT_1.95.0 +XML_SetElementDeclHandler@@LIBEXPAT_1.95.0 +XML_SetElementHandler@@LIBEXPAT_1.0.0 +XML_SetEncoding@@LIBEXPAT_1.1.0 +XML_SetEndCdataSectionHandler@@LIBEXPAT_1.95.0 +XML_SetEndDoctypeDeclHandler@@LIBEXPAT_1.95.0 +XML_SetEndElementHandler@@LIBEXPAT_1.95.0 +XML_SetEndNamespaceDeclHandler@@LIBEXPAT_1.95.0 +XML_SetEntityDeclHandler@@LIBEXPAT_1.95.0 +XML_SetExternalEntityRefHandlerArg@@LIBEXPAT_1.1.0 +XML_SetExternalEntityRefHandler@@LIBEXPAT_1.0.0 +XML_SetHashSalt@@LIBEXPAT_2.1.0 +XML_SetNamespaceDeclHandler@@LIBEXPAT_1.1.0 +XML_SetNotationDeclHandler@@LIBEXPAT_1.0.0 +XML_SetNotStandaloneHandler@@LIBEXPAT_1.1.0 +XML_SetParamEntityParsing@@LIBEXPAT_1.95.0 +XML_SetProcessingInstructionHandler@@LIBEXPAT_1.0.0 +XML_SetReparseDeferralEnabled@@LIBEXPAT_2.6.0 +XML_SetReturnNSTriplet@@LIBEXPAT_1.95.0 +XML_SetSkippedEntityHandler@@LIBEXPAT_1.95.4 +XML_SetStartCdataSectionHandler@@LIBEXPAT_1.95.0 +XML_SetStartDoctypeDeclHandler@@LIBEXPAT_1.95.0 +XML_SetStartElementHandler@@LIBEXPAT_1.95.0 +XML_SetStartNamespaceDeclHandler@@LIBEXPAT_1.95.0 +XML_SetUnknownEncodingHandler@@LIBEXPAT_1.0.0 +XML_SetUnparsedEntityDeclHandler@@LIBEXPAT_1.0.0 +XML_SetUserData@@LIBEXPAT_1.0.0 +XML_SetXmlDeclHandler@@LIBEXPAT_1.95.0 +XML_StopParser@@LIBEXPAT_1.95.8 +XML_UseForeignDTD@@LIBEXPAT_1.95.5 +XML_UseParserAsHandlerArg@@LIBEXPAT_1.0.0