2023-10-26 18:29:55 |
Zixing Liu |
bug |
|
|
added bug |
2023-10-26 18:30:24 |
Zixing Liu |
bug watch added |
|
https://sourceware.org/bugzilla/show_bug.cgi?id=29272 |
|
2023-10-26 18:30:24 |
Zixing Liu |
bug task added |
|
gdb (Debian) |
|
2023-10-26 18:32:07 |
Zixing Liu |
affects |
gdb (Debian) |
gdb |
|
2023-10-26 18:59:35 |
Zixing Liu |
description |
GDB 12.1 had a regression where it will break program execution when the program contains mixed ARM code and THUMB code.
Considering the following C program:
```
__attribute__((target("arm"), noinline))
int thumb_func() {
return 42;
}
__attribute__((target("thumb")))
int main() { return thumb_func(); }
```
If you build it using `gcc repro.c -ggdb3 -Og -o repro` and run the GDB using the following commands:
```
b 3
r
c
```
(you can save it to a file and run GDB using `gdb -x script ./repro`)
You will notice GDB broke the program and threw SIGILL.
If you run the program without GDB, the program exits normally.
This bug has been fixed in GDB 13, but the fix was never backported to GDB 12. You can find the upstream bug in the remote bug watch. |
[ Impact ]
* GDB 12.1 introduced a regression where it will break program execution when the program contains mixed ARM code and THUMB code.
* Upstream stated they tested the changes on Ubuntu 20.04 and it went okay.
[ Test Plan ]
Considering the following C program:
```
__attribute__((target("arm"), noinline))
int thumb_func() {
return 42;
}
__attribute__((target("thumb")))
int main() { return thumb_func(); }
```
If you build it using `gcc repro.c -ggdb3 -Og -o repro` and run the GDB using the following commands ...
```
b 3
r
c
```
(you can save the contents above to a file and run GDB using `gdb -x script ./repro`)
... you will notice GDB broke the program and threw SIGILL.
If you run the program without GDB, the program exits normally.
[ Where problems could occur ]
* GDB is a complex software. As the patch suggests, it may break other use cases (like single-stepping) entirely.
* Since this is an ARM-only patch, it's unlikely to affect other CPU architectures. However, it is possible that this fix may break ARM64 execution.
[ Other Info ]
* This bug has been fixed in GDB 13, but the fix was never backported to GDB 12. You can find the upstream bug in the remote bug watch. |
|
2023-10-26 19:57:36 |
Bug Watch Updater |
gdb: status |
Unknown |
Fix Released |
|
2023-10-26 19:57:36 |
Bug Watch Updater |
gdb: importance |
Unknown |
Medium |
|
2023-10-26 19:57:40 |
Bug Watch Updater |
bug watch added |
|
https://github.com/rust-lang/rust/issues/96983 |
|
2023-10-26 20:37:10 |
Brian Murray |
nominated for series |
|
Ubuntu Jammy |
|
2023-10-26 20:37:10 |
Brian Murray |
bug task added |
|
gdb (Ubuntu Jammy) |
|
2023-10-26 20:37:17 |
Brian Murray |
gdb (Ubuntu Jammy): milestone |
|
jammy-updates |
|
2023-10-26 20:37:22 |
Brian Murray |
gdb (Ubuntu): milestone |
jammy-updates |
|
|
2023-10-27 18:40:56 |
Sergio Durigan Junior |
merge proposal linked |
|
https://code.launchpad.net/~mitchdz/ubuntu/+source/tmux/+git/tmux/+merge/454437 |
|
2023-10-27 18:41:09 |
Sergio Durigan Junior |
merge proposal unlinked |
https://code.launchpad.net/~mitchdz/ubuntu/+source/tmux/+git/tmux/+merge/454437 |
|
|
2023-10-27 18:41:17 |
Sergio Durigan Junior |
merge proposal linked |
|
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/gdb/+git/gdb/+merge/454654 |
|
2023-10-28 03:44:29 |
Ubuntu Archive Robot |
bug |
|
|
added subscriber Sergio Durigan Junior |
2023-11-17 14:08:25 |
Timo Aaltonen |
gdb (Ubuntu): status |
New |
Fix Released |
|
2023-11-17 14:10:30 |
Timo Aaltonen |
gdb (Ubuntu Jammy): status |
New |
Fix Committed |
|
2023-11-17 14:10:32 |
Timo Aaltonen |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2023-11-17 14:10:34 |
Timo Aaltonen |
bug |
|
|
added subscriber SRU Verification |
2023-11-17 14:10:36 |
Timo Aaltonen |
tags |
|
verification-needed verification-needed-jammy |
|
2024-01-17 19:23:55 |
Zixing Liu |
tags |
verification-needed verification-needed-jammy |
verification-done verification-done-jammy |
|
2024-01-19 20:35:19 |
Brian Murray |
gdb (Ubuntu Jammy): status |
Fix Committed |
Incomplete |
|
2024-01-22 20:56:46 |
Brian Murray |
bug |
|
|
added subscriber Brian Murray |