Control: tags -1 + upstream fixed-upstream patch

Dear Maintainer,
the issue seems to be with newer gcc versions string literals
get not put into memory mappings " r-xp ",
instead they are mapped " r--p ".

Such a string literal is used to determine the location
of the executable.

Upstream fixed it already [1] [2].
The issue points also to a fallback if reading from
memory fails, which might be worth to consider [3].

Kind regards,
Bernhard


[1] https://gitlab.com/armagetronad/armagetronad/issues/6
[2] 
https://gitlab.com/armagetronad/armagetronad/commit/aad48287a98d32112c8600ee8d1b96de25500987
[3] 
https://gitlab.com/armagetronad/armagetronad/commit/90036a889d6ca9fbcf4ce950e0e803eb2204e06b


(gdb) bt
#0  br_locate (symbol=symbol@entry=0x5555556bc1f8) at 
../../src/thirdparty/binreloc/prefix.c:103
#1  0x00005555556af4be in tPathToExecutable::Set (this=0x555555749a80 
<st_pathToExecutable>, defaultPath=<optimized out>) at 
../../src/tools/tDirectories.cpp:1272
#2  tDirectoriesCommandLineAnalyzer::DoInitialize (this=<optimized out>, 
parser=...) at ../../src/tools/tDirectories.cpp:1471
#3  0x00005555556ba06d in tCommandLineAnalyzer::Initialize (parser=..., 
this=0x555555749a30 <analyzer>) at ../../src/tools/tCommandLine.h:112
#4  tCommandLineData::Analyse (this=this@entry=0x7fffffffe040, 
argc=argc@entry=1, argv=argv@entry=0x7fffffffe598) at 
../../src/tools/tCommandLine.cpp:115
#5  0x000055555558a0be in main (argc=1, argv=0x7fffffffe598) at 
../../src/tron/gArmagetron.cpp:509
(gdb) finish
Run till exit from #0  br_locate (symbol=symbol@entry=0x5555556bc1f8) at 
../../src/thirdparty/binreloc/prefix.c:103
0x00005555556af4be in tPathToExecutable::Set (this=0x555555749a80 
<st_pathToExecutable>, defaultPath=<optimized out>) at 
../../src/tools/tDirectories.cpp:1272
1272            char const * bestGuess = SELFPATH;
Value returned is $1 = 0x0

Reply via email to