Entonces, ¿hay alguna forma de recibir el resultado de un gdb.execute en GDB 7.1?
No.
Lo mejor que puede hacer es hacer arreglos para que GDB-7.3 esté disponible. Dado que GDB generalmente no usa bibliotecas compartidas (más allá de libc y quizás libpython), puede simplemente copiar el binario gdb con su script. Esa será una solución mucho más fácil y fácil de mantener que la alternativa que propusiste.
Puede escribir en un archivo y luego leer el archivo, por ejemplo:
os.system("rm tmp.txt")
gdb.execute("set logging file tmp.txt")
gdb.execute("set logging on")
mainsec=gdb.execute("info proc mappings")
gdb.execute("set logging off")
mainsec = open("tmp.txt").read()
Sin embargo, la versión anterior de gdb.execute era muy superior.
FYI ahora (probado con gdb 8.1) puede usar el to_string
parámetro
https://sourceware.org/gdb/onlinedocs/gdb/Basic-Python.html
gdb.execute (command [, from_tty [, to_string]])
De forma predeterminada, cualquier salida producida por el comando se envía a la salida estándar de GDB (y a la salida del registro si el registro está activado). Si el parámetro to_string es True, la salida será recopilada por gdb.execute y devuelta como una cadena. El valor predeterminado es Falso, en cuyo caso el valor de retorno es Ninguno.