This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH ARM] Fixing problem of 32bit multiplication instruction 'smull'


Hello Mike,

Thanks again for reviewing this patch as well.

>> could you make that into a test case ? :)

I really don't have a test case in C form as of now.
However, when I was doing the GCC regression testing, I found almost
in all of the execution tests, final object files are linked with
another object file 'gcc_tg.o'. Objdump of this file shows 'smull'
getting generated in one of its function 'write_int()'. However, I
couldn't find the way this 'gcc_tg.o' file is generated.

For your reference I have attached this object file with this mail.
(To escape the mailAdmin, I have renamed it as .TXT)

I did linked this 'gcc_tg.o' file with the simple "hello world"
program as below:
arm-eabi-gcc -mcpu=cortex-a9 hello.c gcc_tg.o -Wl,-wrap,exit
-Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort

and while debugging the output of this, after 'main()', I was able to
"nexti" into 'wrap_exit()' and then into 'wrap_int()' functions where
ultimately GDB failed to execute 'smull' command with error message:
====================================
sim: MULTIPLY64 - INVALID ARGUMENTS

*** EXIT code 6
====================================

I hope this will help to reproduce the problem at your end as well.

Regards,
Jayant

Attachment: gcc_tg.txt
Description: gcc_tg.txt


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]