Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extending LLDB to work on AIX #102601

Draft
wants to merge 219 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
39d395f
LLDB Support for AIX
DhruvSrivastavaX Aug 7, 2024
b1da5b1
Code license notice
DhruvSrivastavaX Aug 7, 2024
50ad673
Reverting .tests
DhruvSrivastavaX Aug 7, 2024
a2f162d
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Aug 9, 2024
d1e3ac5
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Aug 12, 2024
061180f
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Aug 16, 2024
b3b75da
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Aug 20, 2024
c1967be
For TestSuite Run
Aug 22, 2024
ae7a76e
Changes made after getting merge conflict while porting AIX code into…
Aug 23, 2024
094e590
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Aug 30, 2024
758ab64
Changes made to AIX-specific files to eliminate errors encountered du…
Aug 30, 2024
f7fb892
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Sep 4, 2024
33d561f
Removed non-required PTRACE defs
DhruvSrivastavaX Sep 10, 2024
450793d
Patch for running of unit testcases without hang
Sep 11, 2024
bb117dd
Merge pull request #1 from DhruvSrivastavaX/TestBranch1
DhruvSrivastavaX Sep 12, 2024
9c95e79
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Sep 12, 2024
61e7843
changes applied to NativeProcessAIX.cpp file to solve build errors wh…
Sep 12, 2024
f334146
Merge pull request #2 from DhruvSrivastavaX/aix-ptrace-full
Lakshmi-Surekha Sep 13, 2024
627a542
Revert "Removed non-required PTRACE defs"
Lakshmi-Surekha Sep 13, 2024
fd3dc9f
Merge pull request #3 from DhruvSrivastavaX/revert-2-aix-ptrace-full
Lakshmi-Surekha Sep 13, 2024
163e510
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Sep 17, 2024
c357357
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Sep 23, 2024
e610977
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Sep 27, 2024
9713e7a
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 1, 2024
0ad10dc
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 3, 2024
473947d
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 6, 2024
ea34b15
Replaced __AIX__ with _AIX
DhruvSrivastavaX Oct 10, 2024
fee4abf
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 10, 2024
a8020a6
Removed from lldb/CMakeLists
DhruvSrivastavaX Oct 10, 2024
a77dc02
Merge pull request #4 from DhruvSrivastavaX/aix-llvm-flag
DhruvSrivastavaX Oct 10, 2024
07e66aa
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 10, 2024
dfb2648
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 13, 2024
5b2d196
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 16, 2024
815c36e
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 19, 2024
2c34d32
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 21, 2024
daac372
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 22, 2024
b78c1c0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 22, 2024
e70dd07
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 24, 2024
1529f91
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 28, 2024
6bccc8a
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 29, 2024
ecd7a18
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Oct 30, 2024
15225a2
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 4, 2024
723cbde
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 6, 2024
ad7efa0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 7, 2024
10bcf83
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 8, 2024
dba98d6
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 10, 2024
cbc5033
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 11, 2024
0943a37
Merge remote-tracking branch 'upstream/main' into gh-101657
Nov 14, 2024
dc26b73
Merge branch 'gh-101657' of github.com:DhruvSrivastavaX/lldb-for-aix …
Nov 14, 2024
bca31f3
Patch for merge conflict of first xcoff
Lakshmi-Surekha Nov 14, 2024
13f3598
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 14, 2024
7609ad3
Patch for the Merge conflict of xcoff first merge with llvm
Lakshmi-Surekha Nov 14, 2024
cfae3da
Merge branch 'gh-101657' of github.com:DhruvSrivastavaX/lldb-for-aix …
Lakshmi-Surekha Nov 14, 2024
a486c75
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 14, 2024
d2235be
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 15, 2024
dd56fce
Attach fix for AIX
DhruvSrivastavaX Nov 17, 2024
3f58fa4
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 17, 2024
4ffba50
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 17, 2024
2e032f6
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 18, 2024
af5f4f2
Merge pull request #5 from DhruvSrivastavaX/attach-fix
DhruvSrivastavaX Nov 18, 2024
48b8b1b
Cleanup
DhruvSrivastavaX Nov 18, 2024
eb8d97f
Merge pull request #6 from DhruvSrivastavaX/attach-fix
DhruvSrivastavaX Nov 18, 2024
325057e
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 18, 2024
87d3aba
Patch for merge conflict in MainLoopPosix.cpp
Lakshmi-Surekha Nov 18, 2024
6d0f3fe
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 18, 2024
7ca81e0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 18, 2024
56ed03c
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 18, 2024
131579b
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 19, 2024
d410734
Patch in MainLoopPosix.cpp for runtime issue
Lakshmi-Surekha Nov 19, 2024
6161d1f
Patch for merge conflict in MainLoopTest.cpp
Lakshmi-Surekha Nov 19, 2024
9830f34
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 19, 2024
2976417
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 20, 2024
075daef
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 20, 2024
4b1b309
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 20, 2024
e4b98f4
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 21, 2024
ebc44c4
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 21, 2024
64bd8d6
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 21, 2024
accdf2c
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 21, 2024
ff6562c
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 22, 2024
9ac84cd
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 22, 2024
70f63f0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 25, 2024
7864b11
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 25, 2024
05be756
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 25, 2024
30cf01d
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 25, 2024
e192cd4
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 26, 2024
ef0084d
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 26, 2024
e6cd74f
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 27, 2024
ad3c9ae
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 27, 2024
e4579f7
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 27, 2024
c33cc6e
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 27, 2024
4489e86
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 28, 2024
b2d40bb
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 28, 2024
c555d7c
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 28, 2024
5213cca
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 29, 2024
1c22912
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Nov 30, 2024
9a6f83a
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 2, 2024
6371dfc
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 2, 2024
a7ca585
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 2, 2024
d6f90a8
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 3, 2024
5b008d8
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 3, 2024
685620a
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 3, 2024
0c9e4c1
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 4, 2024
2718b3d
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 4, 2024
c6a00fa
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 5, 2024
abca02e
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 5, 2024
48f39da
Patch for compilation failure in DomainSocket.cpp, AbstractSocket.cpp…
Lakshmi-Surekha Dec 5, 2024
685aa51
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 5, 2024
7b28aa5
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 5, 2024
34adb6d
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 6, 2024
4b0c484
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 6, 2024
c826a08
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 7, 2024
8e80b80
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 8, 2024
93c105a
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 8, 2024
9ba650f
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 9, 2024
174efe0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 9, 2024
d58b833
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 10, 2024
a8e7f03
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 10, 2024
818e9d8
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 11, 2024
f494470
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 11, 2024
3db456b
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 12, 2024
e7203d5
Merge remote-tracking branch 'upstream/main' into gh-101657
Lakshmi-Surekha Dec 12, 2024
0ec1cd0
Merge branch 'gh-101657' of github.com:DhruvSrivastavaX/lldb-for-aix …
Lakshmi-Surekha Dec 12, 2024
85ae4f0
Patch for the merge conflict in unittests of Host/PipeTest.cpp
Lakshmi-Surekha Dec 12, 2024
05e2848
Patch for merge conflict in ObjectFileXCOFF.cpp
Lakshmi-Surekha Dec 15, 2024
11cb200
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 15, 2024
7660757
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 16, 2024
6ce2d11
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 16, 2024
19b9251
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 17, 2024
cbc8e39
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 17, 2024
07b5dbd
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 18, 2024
b0ef220
Patch for merge conflict in ObjectFileXCOFF.cpp and ObjectFileXCOFF.h
Lakshmi-Surekha Dec 19, 2024
015f689
Merge remote-tracking branch 'upstream/main' into gh-101657
Lakshmi-Surekha Dec 19, 2024
61ad7c9
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 19, 2024
97531f7
Patch for merge conflict in ObjectFileXCOFF.cpp & ObjectFileXCOFF.h
Lakshmi-Surekha Dec 19, 2024
20bcb5b
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 19, 2024
f234a2a
Merge branch 'llvm:main' into gh-101657
ravi-sh Dec 19, 2024
5c0f06e
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 20, 2024
8dfafd4
Merge remote-tracking branch 'upstream/main' into gh-101657
ravi-sh Dec 20, 2024
0fd991b
Merge branch 'llvm:main' into gh-101657
ravi-sh Dec 20, 2024
01d9338
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 23, 2024
71d2fcf
Added upcoming clang-format and other merge changes
DhruvSrivastavaX Dec 24, 2024
a52d2f6
Merge branch 'llvm:main' into gh-101657
ravi-sh Dec 25, 2024
9a526a0
Merge remote-tracking branch 'upstream/main' into gh-101657
DhruvSrivastavaX Dec 26, 2024
8045b92
Merge branch 'gh-101657' of https://github.com/Dhruv-Srivastava-IBM/l…
DhruvSrivastavaX Dec 26, 2024
c7d4eab
Merge remote-tracking branch 'upstream/main' into gh-101657
DhruvSrivastavaX Dec 27, 2024
78d1671
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Dec 27, 2024
8fcf69e
Some Updates
DhruvSrivastavaX Dec 27, 2024
c3c2b32
Merge branch 'gh-101657' of https://github.com/Dhruv-Srivastava-IBM/l…
DhruvSrivastavaX Dec 27, 2024
a4f4d4a
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Dec 28, 2024
af732be
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Dec 30, 2024
40b4fbe
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 1, 2025
51fb774
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 1, 2025
252e0c0
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 2, 2025
585bd72
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 2, 2025
22cd1da
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 2, 2025
a66defe
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 3, 2025
38ce4a5
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 3, 2025
2a2d668
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 3, 2025
5551074
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 3, 2025
fd59a98
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 4, 2025
49d795f
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 5, 2025
f8b05df
HostInfoAIX Cleanup
DhruvSrivastavaX Jan 5, 2025
57d080e
Cleanup HostInfoAIX
DhruvSrivastavaX Jan 5, 2025
673713a
Removing headers
DhruvSrivastavaX Jan 5, 2025
53037f1
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 6, 2025
4d15937
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 6, 2025
63e8df6
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 6, 2025
94c6c10
Merge remote-tracking branch 'upstream/main' into gh-101657
ravi-sh Jan 6, 2025
cdc31f3
Reverted merge blunder CMakeLists
DhruvSrivastavaX Jan 6, 2025
713a6cb
Removed DomainSocket.cpp FileSystemPosix.cpp includes
DhruvSrivastavaX Jan 6, 2025
0a706d2
sys/mount.h
DhruvSrivastavaX Jan 6, 2025
84ebb4e
sys/mount.h
DhruvSrivastavaX Jan 6, 2025
27e8a91
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 6, 2025
b6c1d8d
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 7, 2025
588e1c5
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 7, 2025
0a18186
Merge remote-tracking branch 'upstream/main' into gh-101657
ravi-sh Jan 8, 2025
6db1782
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 8, 2025
c334103
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 8, 2025
3bfb427
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 8, 2025
eef33d2
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Jan 9, 2025
844f798
Removed _AIX from ConnectionFileDescriptorPosix.cpp
DhruvSrivastavaX Jan 9, 2025
4d5a088
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 9, 2025
b457557
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 9, 2025
1d20ebb
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 10, 2025
2c30170
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 10, 2025
ad2c204
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 10, 2025
72de919
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 10, 2025
79e9625
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 11, 2025
84ab2f0
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 13, 2025
aefbbbf
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 13, 2025
847230b
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 13, 2025
cab9674
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 13, 2025
054733b
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 14, 2025
b01e24c
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 15, 2025
26a3c23
Merge branch 'llvm:main' into gh-101657
Lakshmi-Surekha Jan 16, 2025
befb24c
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 17, 2025
68e0c4c
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 17, 2025
4fe42cd
[ObjectFileXCOFF] Fix access to protected member 'GetSectionLoadList'…
Jan 17, 2025
b4d4329
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 17, 2025
021ca06
Merge pull request #7 from DhruvSrivastavaX/ObjectFileXCOFF-fix-prote…
DhruvSrivastavaX Jan 17, 2025
49cc9bb
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 17, 2025
f428ca6
Merge branch 'llvm:main' into gh-101657
DhruvSrivastavaX Jan 18, 2025
e5ed4f2
Resolved cmake failure for SBProgress.cpp
DhruvSrivastavaX Jan 19, 2025
cd39f0a
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 20, 2025
ddcf64f
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 20, 2025
626c018
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 21, 2025
3903792
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 22, 2025
8a464f3
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 23, 2025
98de95c
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 24, 2025
9d3a322
_AIX Dl_info conflict
DhruvSrivastavaX Jan 27, 2025
82dbcb0
Host.cpp ANDROID
DhruvSrivastavaX Jan 27, 2025
68c2b7a
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 28, 2025
57a4ca0
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 30, 2025
216bde5
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 30, 2025
72dd626
Merge branch 'llvm:main' into gh-101657
ravi-sh Jan 31, 2025
fc16f21
Merge branch 'llvm:main' into gh-101657
ravi-sh Feb 3, 2025
1692376
Merge branch 'llvm:main' into gh-101657
ravi-sh Feb 4, 2025
60294ea
Resolving the fatal error while build
ravindra-shinde2 Feb 4, 2025
c031b94
Merge branch 'llvm:main' into gh-101657
ravi-sh Feb 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion clang/lib/CodeGen/CGObjCMac.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5048,10 +5048,14 @@ std::string CGObjCCommonMac::GetSectionName(StringRef Section,
case llvm::Triple::COFF:
assert(Section.starts_with("__") && "expected the name to begin with __");
return ("." + Section.substr(2) + "$B").str();
case llvm::Triple::XCOFF:
// Hack to allow "p 10+1" on AIX for lldb
assert(Section.substr(0, 2) == "__" &&
"expected the name to begin with __");
return Section.substr(2).str();
case llvm::Triple::Wasm:
case llvm::Triple::GOFF:
case llvm::Triple::SPIRV:
case llvm::Triple::XCOFF:
case llvm::Triple::DXContainer:
llvm::report_fatal_error(
"Objective-C support is unimplemented for object file format");
Expand Down
2 changes: 1 addition & 1 deletion clang/test/SemaCXX/class-layout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ namespace PR37275 {
#pragma pack(pop)
}

#endif // !defined(__MVS__) && !defined(__AIX__)
#endif // !defined(__MVS__) && !defined(_AIX)

namespace non_pod {
struct t1 {
Expand Down
7 changes: 7 additions & 0 deletions lldb/NOTICE.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

This product contains small piece of code to support AIX, taken from netbsd.

* LICENSE:
* lldb/source/Host/common/LICENSE.aix-netbsd.txt (OpenSSL License)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to confirm license compatibility for this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And if there is a way not to pull in this code, we're likely going to prefer that.

* HOMEPAGE:
* https://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/crypto/external/bsd/openssl/dist
2 changes: 1 addition & 1 deletion lldb/cmake/modules/LLDBConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ endif()

# Figure out if lldb could use lldb-server. If so, then we'll
# ensure we build lldb-server when an lldb target is being built.
if (CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|FreeBSD|Linux|NetBSD|OpenBSD|Windows")
if (CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|FreeBSD|Linux|NetBSD|OpenBSD|Windows|AIX")
set(LLDB_CAN_USE_LLDB_SERVER ON)
else()
set(LLDB_CAN_USE_LLDB_SERVER OFF)
Expand Down
3 changes: 3 additions & 0 deletions lldb/include/lldb/Core/Module.h
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,9 @@ class Module : public std::enable_shared_from_this<Module>,
bool SetLoadAddress(Target &target, lldb::addr_t value, bool value_is_offset,
bool &changed);

bool SetLoadAddressByType(Target &target, lldb::addr_t value,
bool value_is_offset, bool &changed, int type_id);

/// \copydoc SymbolContextScope::CalculateSymbolContext(SymbolContext*)
///
/// \see SymbolContextScope
Expand Down
23 changes: 21 additions & 2 deletions lldb/include/lldb/Core/ModuleSpec.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

#include <mutex>
#include <vector>
#include <string.h>

namespace lldb_private {

Expand All @@ -41,8 +42,26 @@ class ModuleSpec {
}

ModuleSpec(const FileSpec &file_spec, const ArchSpec &arch)
: m_file(file_spec), m_arch(arch), m_object_offset(0),
m_object_size(FileSystem::Instance().GetByteSize(file_spec)) {}
: m_arch(arch), m_object_offset(0) {
// parse object inside module format for example: /usr/ccs/lib/libc.a(shr_64.o)
llvm::SmallString<256> path_with_object;
file_spec.GetPath(path_with_object);
if (strstr(path_with_object.c_str(), "(") != nullptr) {
char *part;
char *str = (char *)path_with_object.c_str();
part = strtok(str, "()");
assert(part);
llvm::StringRef file_name(part);
part = strtok(nullptr, "()");
assert(part);
m_object_name = ConstString(part);
m_file = FileSpec(file_name);
m_object_size = FileSystem::Instance().GetByteSize(m_file);
} else {
m_file = file_spec;
m_object_size = FileSystem::Instance().GetByteSize(file_spec);
}
}

FileSpec *GetFileSpecPtr() { return (m_file ? &m_file : nullptr); }

Expand Down
2 changes: 1 addition & 1 deletion lldb/include/lldb/Host/HostInfoBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ class HostInfoBase {
return {};
}

static bool ComputeSharedLibraryDirectory(FileSpec &file_spec);
/// Returns the distribution id of the host
///
/// This will be something like "ubuntu", "fedora", etc. on Linux.
Expand All @@ -158,7 +159,6 @@ class HostInfoBase {
static llvm::StringRef GetDistributionId() { return llvm::StringRef(); }

protected:
static bool ComputeSharedLibraryDirectory(FileSpec &file_spec);
static bool ComputeSupportExeDirectory(FileSpec &file_spec);
static bool ComputeProcessTempFileDirectory(FileSpec &file_spec);
static bool ComputeGlobalTempFileDirectory(FileSpec &file_spec);
Expand Down
5 changes: 5 additions & 0 deletions lldb/include/lldb/Host/XML.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@

#include "lldb/Host/Config.h"

#if defined(_AIX)
//FIXME for AIX
#undef LLDB_ENABLE_LIBXML2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In theory if you configure with -DLLDB_ENABLE_LIBXML2=OFF, the libxml2 parts will be removed. Was something else being included despite that?

#endif

#if LLDB_ENABLE_LIBXML2
#include <libxml/xmlreader.h>
#endif
Expand Down
25 changes: 25 additions & 0 deletions lldb/include/lldb/Host/aix/AbstractSocket.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//===-- AbstractSocket.h ----------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef liblldb_AbstractSocket_h_
#define liblldb_AbstractSocket_h_

#include "lldb/Host/posix/DomainSocket.h"

namespace lldb_private {
class AbstractSocket : public DomainSocket {
public:
AbstractSocket();

protected:
size_t GetNameOffset() const override;
void DeleteSocketFile(llvm::StringRef name) override;
};
}

#endif // ifndef liblldb_AbstractSocket_h_
22 changes: 22 additions & 0 deletions lldb/include/lldb/Host/aix/Host.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//===-- Host.h --------------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_HOST_AIX_HOST_H
#define LLDB_HOST_AIX_HOST_H

#include "lldb/lldb-types.h"
#include <optional>

namespace lldb_private {

// Get PID (i.e. the primary thread ID) corresponding to the specified TID.
std::optional<lldb::pid_t> getPIDForTID(lldb::pid_t tid);

} // namespace lldb_private

#endif // #ifndef LLDB_HOST_AIX_HOST_H
62 changes: 62 additions & 0 deletions lldb/include/lldb/Host/aix/Ptrace.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
//===-- Ptrace.h ------------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

// This file defines ptrace functions & structures

#ifndef liblldb_Host_aix_Ptrace_h_
#define liblldb_Host_aix_Ptrace_h_

#include <sys/ptrace.h>

#define DEBUG_PTRACE_MAXBYTES 20

// Support ptrace extensions even when compiled without required kernel support
#ifndef PTRACE_GETREGS
#define PTRACE_GETREGS (PT_COMMAND_MAX+1)
#endif
#ifndef PTRACE_SETREGS
#define PTRACE_SETREGS (PT_COMMAND_MAX+2)
#endif
#ifndef PTRACE_GETFPREGS
#define PTRACE_GETFPREGS (PT_COMMAND_MAX+3)
#endif
#ifndef PTRACE_SETFPREGS
#define PTRACE_SETFPREGS (PT_COMMAND_MAX+4)
#endif
#ifndef PTRACE_GETREGSET
#define PTRACE_GETREGSET 0x4204
#endif
#ifndef PTRACE_SETREGSET
#define PTRACE_SETREGSET 0x4205
#endif
#ifndef PTRACE_GET_THREAD_AREA
#define PTRACE_GET_THREAD_AREA (PT_COMMAND_MAX+5)
#endif
#ifndef PTRACE_ARCH_PRCTL
#define PTRACE_ARCH_PRCTL (PT_COMMAND_MAX+6)
#endif
#ifndef ARCH_GET_FS
#define ARCH_SET_GS 0x1001
#define ARCH_SET_FS 0x1002
#define ARCH_GET_FS 0x1003
#define ARCH_GET_GS 0x1004
#endif
#ifndef PTRACE_PEEKMTETAGS
#define PTRACE_PEEKMTETAGS (PT_COMMAND_MAX+7)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Funny seeing this here, I worked on lldb's MTE support for AArch64. Does AIX support a memory tagging feature as well?

If so I'd be quite interested to see how it fits into the memory tagging support code. I tried to make it generic but when you've only got one implementation, you never know if it's truly flexible or not.

#endif
#ifndef PTRACE_POKEMTETAGS
#define PTRACE_POKEMTETAGS (PT_COMMAND_MAX+8)
#endif
#ifndef PTRACE_GETVRREGS
#define PTRACE_GETVRREGS (PT_COMMAND_MAX+9)
#endif
#ifndef PTRACE_GETVSRREGS
#define PTRACE_GETVSRREGS (PT_COMMAND_MAX+10)
#endif

#endif // liblldb_Host_aix_Ptrace_h_
29 changes: 29 additions & 0 deletions lldb/include/lldb/Host/aix/Support.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//===-- Support.h -----------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_HOST_AIX_SUPPORT_H
#define LLDB_HOST_AIX_SUPPORT_H

#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MemoryBuffer.h"
#include <memory>

namespace lldb_private {

llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
getProcFile(::pid_t pid, ::pid_t tid, const llvm::Twine &file);

llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
getProcFile(::pid_t pid, const llvm::Twine &file);

llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
getProcFile(const llvm::Twine &file);

} // namespace lldb_private

#endif // #ifndef LLDB_HOST_AIX_SUPPORT_H
23 changes: 23 additions & 0 deletions lldb/include/lldb/Host/aix/Uio.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//===-- Uio.h ---------------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef liblldb_Host_aix_Uio_h_
#define liblldb_Host_aix_Uio_h_

#include "lldb/Host/Config.h"
#include <sys/uio.h>

// We shall provide our own implementation of process_vm_readv if it is not
// present
#if !HAVE_PROCESS_VM_READV
ssize_t process_vm_readv(::pid_t pid, const struct iovec *local_iov,
unsigned long liovcnt, const struct iovec *remote_iov,
unsigned long riovcnt, unsigned long flags);
#endif

#endif // liblldb_Host_aix_Uio_h_
2 changes: 1 addition & 1 deletion lldb/include/lldb/Host/common/GetOptInc.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ struct option {
int val;
};

int getopt(int argc, char *const argv[], const char *optstring);
int getopt(int argc, char *const argv[], const char *optstring) throw();

// from getopt.h
extern char *optarg;
Expand Down
5 changes: 5 additions & 0 deletions lldb/include/lldb/Symbol/ObjectFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,11 @@ class ObjectFile : public std::enable_shared_from_this<ObjectFile>,
return false;
}

virtual bool SetLoadAddressByType(Target &target, lldb::addr_t value,
bool value_is_offset, int type_id) {
return false;
}

/// Gets whether endian swapping should occur when extracting data from this
/// object file.
///
Expand Down
6 changes: 6 additions & 0 deletions lldb/include/lldb/Target/ABI.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ class ABI : public PluginInterface {
lldb::addr_t returnAddress,
llvm::ArrayRef<lldb::addr_t> args) const = 0;

virtual bool PrepareTrivialCall(lldb_private::Thread &thread, lldb::addr_t sp,
lldb::addr_t functionAddress,
lldb::addr_t tocAddress,
lldb::addr_t returnAddress,
llvm::ArrayRef<lldb::addr_t> args) const;

// Prepare trivial call used from ThreadPlanFunctionCallUsingABI
// AD:
// . Because i don't want to change other ABI's this is not declared pure
Expand Down
6 changes: 6 additions & 0 deletions lldb/include/lldb/Target/DynamicLoader.h
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,12 @@ class DynamicLoader : public PluginInterface {
lldb::addr_t base_addr,
bool base_addr_is_offset);

virtual void UpdateLoadedSectionsByType(lldb::ModuleSP module,
lldb::addr_t link_map_addr,
lldb::addr_t base_addr,
bool base_addr_is_offset,
int type_id);

// Utility method so base classes can share implementation of
// UpdateLoadedSections
void UpdateLoadedSectionsCommon(lldb::ModuleSP module, lldb::addr_t base_addr,
Expand Down
14 changes: 14 additions & 0 deletions lldb/include/lldb/Target/Process.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@
#include "llvm/Support/Threading.h"
#include "llvm/Support/VersionTuple.h"

#if defined(_AIX)
struct ld_xinfo;
#endif

namespace lldb_private {

template <typename B, typename S> struct Range;
Expand Down Expand Up @@ -1882,6 +1886,10 @@ class Process : public std::enable_shared_from_this<Process>,
Status GetMemoryRegionInfo(lldb::addr_t load_addr,
MemoryRegionInfo &range_info);

#if defined(_AIX)
Status GetLDXINFO(struct ld_xinfo *info_ptr);
#endif

/// Obtain all the mapped memory regions within this process.
///
/// \param[out] region_list
Expand Down Expand Up @@ -2817,6 +2825,12 @@ void PruneThreadPlans();
"Process::DoGetMemoryRegionInfo() not supported");
}

#if defined(_AIX)
virtual Status DoGetLDXINFO(struct ld_xinfo *info_ptr) {
return Status("Process::DoGetLDXINFO() not supported");
}
#endif

/// Provide an override value in the subclass for lldb's
/// CPU-based logic for whether watchpoint exceptions are
/// received before or after an instruction executes.
Expand Down
4 changes: 4 additions & 0 deletions lldb/include/lldb/Target/RegisterContextUnwind.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ class RegisterContextUnwind : public lldb_private::RegisterContext {

bool ReadPC(lldb::addr_t &start_pc);

#ifdef _AIX
bool ReadLR(lldb::addr_t &lr);
#endif

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's likely we'd ask you to make this a method on all platforms that is only called on, or implemented for, AIX.

// Indicates whether this frame *behaves* like frame zero -- the currently
// executing frame -- or not. This can be true in the middle of the stack
// above asynchronous trap handlers (sigtramp) for instance.
Expand Down
5 changes: 5 additions & 0 deletions lldb/include/lldb/Target/Target.h
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,7 @@ class Target : public std::enable_shared_from_this<Target>,
eBroadcastBitSymbolsChanged = (1 << 5),
};


// These two functions fill out the Broadcaster interface:

static llvm::StringRef GetStaticBroadcasterClass();
Expand Down Expand Up @@ -1644,6 +1645,10 @@ class Target : public std::enable_shared_from_this<Target>,

TargetStats &GetStatistics() { return m_stats; }

public:
SectionLoadList &GetSectionLoadListPublic() {
return GetSectionLoadList();
}
protected:
/// Construct with optional file and arch.
///
Expand Down
Loading