News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

uasm249_linux64: (No debugging symbols found in ./hello)

Started by vengy, March 04, 2022, 02:08:45 PM

Previous topic - Next topic

vengy

Hi,

Running into an issue whereby no debugging symbols are found?

I downloaded this file

http://www.terraspace.co.uk/uasm249_linux64.zip

and built the cross platform example from here

uasm249_linux64\Samples\crossplatform

with these commands

./uasm -c -elf64 hello.asm
gcc -g -no-pie -o hello hello.o

However, running under gdb, no symbols found

gdb ./hello

test@ubuntu:~/Desktop/uasm249_linux64$ gdb ./hello
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
...
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./hello...
(No debugging symbols found in ./hello)
(gdb)


(see attached zipped image for details)

Are there debug options available so that UASM can work with debug symbols?

Thanks!







vengy

Finally able to read the symbols. Here are the steps:

1. Download windows UASM http://www.terraspace.co.uk/uasm252_x64.zip

uasm.exe -elf64 -Zp8 -Sg /c /Sa /Flhello.lst /Fohello.o hello.asm

2. Ran a windows gcc cross-compiler

x86_64-pc-linux-gnu-gcc.exe -g -no-pie -o hello hello.o

3. Copied the elf binary hello from windows to linux and ran

gdb ./hello

4. The output shows it reading the symbols:

test@ubuntu:~/Desktop/uasm249_linux64$ gdb ./hello
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
...
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./hello...
(gdb)


The downside to this build process is that it requires compiling and linking on windows,
rather than natively building on linux.

I wonder if the symbols code from v2.52 (windows) could be ported to a linux version?

Thanks!  :thup:

johnsa

I've tried this using 2.55 and 2.56 (in progress) on Windows and Linux. In both cases I get no debugging symbols, rightly as we don't generate DWARF and never have. I'm puzzled by how using GCC on Windows somehow manages to include debugging info back in that doesn't exist. How is your gcc cross compile setup, mingw, wsl ?