Skip to content

Commit 05cc9fa

Browse files
committed
Revise stacktrace printing
libdwarf used by backward.h created versioning problems after development system was updated to Ubuntu 25.04. - third-party/backward.h is deleted. Backtrace printing uses only backtrace, backtrace_symbols_fd and code within log_print_backtrace() - HAVE_DEVELOPER and extended_stacktrace are deleted - SA_SIGINFO is not checked for - it is assumed to be set - buildtype=release - for debugging use meson setup --buildtype=debug build
1 parent 3b73112 commit 05cc9fa

17 files changed

+110
-4612
lines changed

.github/workflows/appimage-aarch64.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ jobs:
5656
mkdir -p $GITHUB_WORKSPACE/AppDir/usr
5757
meson setup \
5858
-Ddoxygen=disabled \
59-
-Dextended_stacktrace=disabled \
6059
-Dunit_tests=disabled \
6160
-Dyelp-build=disabled \
6261
-Dprefix=$GITHUB_WORKSPACE/AppDir/usr build

.github/workflows/appimage-minimal-aarch64.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ jobs:
4747
-Dexecinfo=disabled \
4848
-Dexiv2=disabled \
4949
-Dexr=disabled \
50-
-Dextended_stacktrace=disabled \
5150
-Dfits=disabled \
5251
-Dgps-map=disabled \
5352
-Dheif=disabled \

.github/workflows/appimage-minimal-x86_64.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ jobs:
6161
-Dexecinfo=disabled
6262
-Dexiv2=disabled
6363
-Dexr=disabled
64-
-Dextended_stacktrace=disabled
6564
-Dfits=disabled
6665
-Dgit=disabled
6766
-Dgps-map=disabled

.github/workflows/appimage-x86_64.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ jobs:
7979
setup-options: >
8080
--prefix=/usr
8181
--datadir=share
82-
-Dextended_stacktrace=disabled
8382
options: --verbose
8483
meson-version: 1.3.2
8584

.github/workflows/check-build-actions.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ jobs:
4848
-Dexecinfo=disabled
4949
-Dexiv2=disabled
5050
-Dexr=disabled
51-
-Dextended_stacktrace=disabled
5251
-Dfits=disabled
5352
-Dgit=disabled
5453
-Dgps-map=disabled
@@ -110,7 +109,6 @@ jobs:
110109
-Dexecinfo=disabled
111110
-Dexiv2=disabled
112111
-Dexr=disabled
113-
-Dextended_stacktrace=disabled
114112
-Dfits=disabled
115113
-Dgit=disabled
116114
-Dgps-map=disabled

config.h.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,6 @@
226226
/* Define for large files, on AIX-style hosts. */
227227
/* #undef _LARGE_FILES */
228228

229-
/* Define to enable extended stack trace support */
230-
#mesondefine HAVE_DEVELOPER
231-
232229
/* Define to 1 if you have the <execinfo.h> header file. */
233230
#mesondefine HAVE_EXECINFO_H
234231

meson.build

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ project(
4646
version : run_command('./version.sh', check : true).stdout().strip(),
4747
license : ['GPL-2.0-or-later'],
4848
meson_version : '>=1.3.2',
49-
default_options : ['cpp_std=c++17', 'warning_level=3', 'buildtype=debugoptimized', 'cpp_link_args=-rdynamic']
49+
default_options : ['cpp_std=c++17', 'warning_level=3', 'buildtype=release', 'cpp_link_args=-rdynamic']
5050
)
5151

5252
# To inhibit warnings from the generated file icons.h
@@ -159,33 +159,6 @@ else
159159
endif
160160
glib_dep = dependency('glib-2.0', version : '>=2.66', required: true)
161161

162-
# Required only when backward-cpp is used
163-
conf_data.set('HAVE_DEVELOPER', 0)
164-
libdw_dep = []
165-
libunwind_dep = []
166-
option = get_option('extended_stacktrace')
167-
if not option.disabled()
168-
libdw_dep = dependency('libdw', required : false)
169-
if libdw_dep.found()
170-
libunwind_dep = dependency('libunwind', required : false)
171-
if libunwind_dep.found()
172-
if cc.has_link_argument('-ldwarf')
173-
add_project_link_arguments('-ldwarf', language: 'cpp')
174-
conf_data.set('HAVE_DEVELOPER', 1)
175-
summary({'developer mode' : ['extended stacktrace:', true]}, section : 'Debugging', bool_yn : true)
176-
else
177-
summary({'developer mode' : ['link argument -ldwarf not found. extended stacktrace:', false]}, section : 'Debugging', bool_yn : true)
178-
endif
179-
else
180-
summary({'developer mode' : ['libunwind not found. extended stacktrace:', false]}, section : 'Debugging', bool_yn : true)
181-
endif
182-
else
183-
summary({'developer mode' : ['libdw not found. extended stacktrace:', false]}, section : 'Debugging', bool_yn : true)
184-
endif
185-
else
186-
summary({'developer mode' : ['extended stacktrace:', false]}, section : 'Debugging', bool_yn : true)
187-
endif
188-
189162
# Required only for seg. fault stacktrace and backtrace debugging
190163
conf_data.set('HAVE_EXECINFO_H', 0)
191164
option = get_option('execinfo')
@@ -204,6 +177,11 @@ else
204177
summary({'execinfo' : ['stacktrace supported:', false]}, section : 'Debugging', bool_yn : true)
205178
endif
206179

180+
# To override the default of 'release', run 'meson setup --buildtype=debug build'
181+
# That is necessary for stacktrace output
182+
buildtype = get_option('buildtype')
183+
summary({'buildtype' : buildtype}, section : 'Debugging')
184+
207185
conf_data.set('ENABLE_UNIT_TESTS', 0)
208186
option = get_option('unit_tests')
209187
if not option.disabled()

meson_options.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ option('evince', type : 'feature', value : 'auto', description : 'print preview'
3131
option('execinfo', type : 'feature', value : 'auto', description : 'execinfo.h')
3232
option('exiv2', type : 'feature', value : 'auto', description : 'exiv2')
3333
option('exr', type : 'feature', value : 'auto', description : 'exr')
34-
option('extended_stacktrace', type : 'feature', value : 'auto', description : 'extended stacktrace')
3534
option('fits', type : 'feature', value : 'auto', description : 'fits')
3635
option('git', type : 'feature', value : 'auto', description : 'lua-api and changelog.html')
3736
option('gps-map', type : 'feature', value : 'auto', description : 'gps map')

scripts/geeqie.cppcheck

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<define name="HAVE_ARCHIVE"/>
1616
<define name="HAVE_CLUTTER"/>
1717
<define name="HAVE_DJVU"/>
18-
<define name="HAVE_DEVELOPER"/>
1918
<define name="HAVE_EXECINFO_H"/>
2019
<define name="HAVE_EXIV2"/>
2120
<define name="HAVE_EXIV2_ERROR_CODE"/>

scripts/test-all.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export XDG_DATA_HOME
4242
rm --recursive --force build
4343
tmpdir=$(mktemp -d "${TMPDIR:-/tmp}/geeqie.XXXXXXXXXX")
4444

45-
# Check with all options disabled
45+
# Check with all options disabled except for developer
4646
meson setup \
4747
-Darchive=disabled \
4848
-Dcms=disabled \
@@ -52,7 +52,6 @@ meson setup \
5252
-Dexecinfo=disabled \
5353
-Dexiv2=disabled \
5454
-Dexr=disabled \
55-
-Dextended_stacktrace=disabled \
5655
-Dfits=disabled \
5756
-Dgit=disabled \
5857
-Dgps-map=disabled \
@@ -73,6 +72,7 @@ meson setup \
7372
-Dvideothumbnailer=disabled \
7473
-Dwebp=disabled \
7574
-Dyelp-build=disabled \
75+
--buildtype=debug \
7676
build
7777

7878
if ninja test -C build
@@ -86,7 +86,7 @@ cp ./build/meson-logs/meson-log.txt "$tmpdir/testlog-options-disabled.txt"
8686
cat ./build/meson-logs/testlog.txt >> "$tmpdir/testlog-options-disabled.txt"
8787

8888
rm --recursive --force build
89-
meson setup -Dunit_tests=enabled build
89+
meson setup --buildtype=debug -Dunit_tests=enabled build
9090
if ninja test -C build
9191
then
9292
options_enabled="PASS"

0 commit comments

Comments
 (0)