# Verify c++filt format options difference - DIFF_0219 # Issue: Anolis OS 8.8 c++filt missing gnu/lucid/arm/hp/edg format support FROM openanolis/anolisos:8.8 AS anolis RUN yum install -y binutils -q 2>/dev/null || true RUN { \ echo "=== Anolis OS 8.8 c++filt Format Test ==="; \ echo ""; \ echo "1. c++filt version:"; \ c++filt --version 2>&1 | head -1; \ echo ""; \ echo "2. Supported formats (from --help):"; \ c++filt --help 2>&1 | grep -A1 "format" | head -5; \ echo ""; \ echo "3. Test demangling with different formats:"; \ echo " Testing format 'gnu':"; \ echo "_ZN4Test4funcEv" | c++filt -s gnu 2>&1 || echo " ERROR: format 'gnu' not supported"; \ echo " Testing format 'lucid':"; \ echo "_ZN4Test4funcEv" | c++filt -s lucid 2>&1 || echo " ERROR: format 'lucid' not supported"; \ echo " Testing format 'arm':"; \ echo "_ZN4Test4funcEv" | c++filt -s arm 2>&1 || echo " ERROR: format 'arm' not supported"; \ echo " Testing format 'hp':"; \ echo "_ZN4Test4funcEv" | c++filt -s hp 2>&1 || echo " ERROR: format 'hp' not supported"; \ echo " Testing format 'edg':"; \ echo "_ZN4Test4funcEv" | c++filt -s edg 2>&1 || echo " ERROR: format 'edg' not supported"; \ echo " Testing format 'gnu-v3' (should work):"; \ echo "_ZN4Test4funcEv" | c++filt -s gnu-v3 2>&1; \ echo " Testing format 'auto' (should work):"; \ echo "_ZN4Test4funcEv" | c++filt -s auto 2>&1; \ } > /anolis_result.txt FROM centos:8 AS centos RUN cd /etc/yum.repos.d/ && \ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \ sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* RUN yum install -y binutils -q 2>/dev/null || true RUN { \ echo "=== CentOS 8 c++filt Format Test ==="; \ echo ""; \ echo "1. c++filt version:"; \ c++filt --version 2>&1 | head -1; \ echo ""; \ echo "2. Supported formats (from --help):"; \ c++filt --help 2>&1 | grep -A1 "format" | head -5; \ echo ""; \ echo "3. Test demangling with different formats:"; \ echo " Testing format 'gnu':"; \ echo "_ZN4Test4funcEv" | c++filt -s gnu 2>&1 || echo " ERROR: format 'gnu' not supported"; \ echo " Testing format 'lucid':"; \ echo "_ZN4Test4funcEv" | c++filt -s lucid 2>&1 || echo " ERROR: format 'lucid' not supported"; \ echo " Testing format 'arm':"; \ echo "_ZN4Test4funcEv" | c++filt -s arm 2>&1 || echo " ERROR: format 'arm' not supported"; \ echo " Testing format 'hp':"; \ echo "_ZN4Test4funcEv" | c++filt -s hp 2>&1 || echo " ERROR: format 'hp' not supported"; \ echo " Testing format 'edg':"; \ echo "_ZN4Test4funcEv" | c++filt -s edg 2>&1 || echo " ERROR: format 'edg' not supported"; \ echo " Testing format 'gnu-v3' (should work):"; \ echo "_ZN4Test4funcEv" | c++filt -s gnu-v3 2>&1; \ echo " Testing format 'auto' (should work):"; \ echo "_ZN4Test4funcEv" | c++filt -s auto 2>&1; \ } > /centos_result.txt FROM alpine:latest COPY --from=anolis /anolis_result.txt /tmp/ COPY --from=centos /centos_result.txt /tmp/ RUN apk add --no-cache bash CMD /bin/bash -c '\ echo "===== c++filt Format Options Difference Verification (DIFF_0219) ====="; \ echo ""; \ echo "********** Anolis OS 8.8 Output **********"; \ cat /tmp/anolis_result.txt; \ echo ""; \ echo "********** CentOS 8 Output **********"; \ cat /tmp/centos_result.txt; \ echo ""; \ echo "===== Difference Analysis ====="; \ echo ""; \ echo "Anolis OS 8.8 supported formats:"; \ grep -o "{[^}]*}" /tmp/anolis_result.txt | head -1 || echo " (parse from help output)"; \ echo ""; \ echo "CentOS 8 supported formats:"; \ grep -o "{[^}]*}" /tmp/centos_result.txt | head -1 || echo " (parse from help output)"; \ echo ""; \ echo "===== Conclusion ====="; \ echo "❌ Compatibility issue: Anolis OS 8.8 c++filt missing format options"; \ echo " Missing formats: gnu, lucid, arm, hp, edg"; \ echo " Impact: Scripts using \"c++filt -s gnu\" or similar will fail on Anolis"; \ echo " Suggestion: Rebuild binutils with full demangling format support"'