Tau
52e4cdb45e
Try linking static members' definitions to their declarations.
...
This does not help anything though: gdb would follow the
DW_AT_specification link only in the opposite direction, which LLVM
cannot emit.
2024-07-19 17:51:38 +02:00
Tau
3bfa63aa61
ModuleDebugInfo: Discard C++ namespaces appearing in PDBs
2024-07-19 17:51:38 +02:00
Tau
9c2d597e69
llvm: Fix debug gen for 0-bit types
...
Add a regression test for that, since these weirdly never occur in any
of the other tests on x86-64-linux.
2024-07-19 17:51:38 +02:00
Tau
b4eb812305
Don't attach a top-level function to its file, but to the file's struct
2024-07-19 17:51:38 +02:00
Tau
359bbdd574
llvm: encode variables as DW_TAG_imported_declaration
...
Now we get working global variable lookup in GDB! LLDB still re-mangles,
and it looks like we can't do much about that for now.
Also: translate non-owning type declarations into typedefs.
2024-07-19 17:51:37 +02:00
Tau
876258abe4
llvm: set precise scopes on namespace types and variables
...
This will allow accessing non-local declarations from debuggers, which,
AFAICT, was impossible before.
Getting scopes right already works for type declarations and functions,
but will need some fiddling for variables:
For those, I tried imitating what Clang does for static member
variables, but LLDB tries to re-mangle those and then fails at lookup,
while GDB outright crashes. Hopefully I can find some other dwarven
incantation to do the right thing.
2024-07-19 17:46:34 +02:00
Techatrix
ebd9efa850
fix fanotify_mark on 32-bit
2024-07-19 01:40:16 -07:00
Jacob Young
40bab4df69
behavior: disable test that triggers an llvm assertion
...
Tracked by #20680
2024-07-19 04:35:11 -04:00
Jakub Konka
16604a93b9
Merge pull request #20650 from ziglang/parallel-macho
...
The tale of parallel MachO: part 1
2024-07-18 22:23:30 +02:00
Andrew Kelley
e4f5dada61
Merge pull request #19641 from The-King-of-Toasters/windows-api-refactor
...
Windows: Rework kernel32 apis
2024-07-18 11:44:32 -07:00
mlugg
f5a941b3d6
Sema: return module-relative path for @src()
...
This is one possible approach to fixing an issue with reproducible
builds where the compiler's cwd changes the paths returned by `@src()`.
2024-07-18 18:45:07 +01:00
Jakub Konka
3bdbf81a3f
macho: fix emitting data-in-code entries
2024-07-18 09:13:09 +02:00
Jakub Konka
34f34dbe32
macho: reinstate duplicate definition checking
2024-07-18 09:13:09 +02:00
Jakub Konka
d19aab2e87
macho: bump max rss by a slight margin
2024-07-18 09:13:09 +02:00
Jakub Konka
b339a30680
macho: fix off-by-one when populating strtab
2024-07-18 09:13:09 +02:00
Jakub Konka
e9328e7da8
macho: fix 32bit compilation issues
2024-07-18 09:13:09 +02:00
Jakub Konka
3338813077
macho: use isec for working out getAtomData in ZigObject
2024-07-18 09:13:09 +02:00
Jakub Konka
a9e3088d9c
macho: extract testing logic for TLS into a helper
2024-07-18 09:13:08 +02:00
Jakub Konka
103c16c879
macho: clean up atom+symbol creation logic in ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
e117e05768
macho: ensure we always name decls like LLVM to avoid confusion
2024-07-18 09:13:08 +02:00
Jakub Konka
91de8dc8ab
macho: fix unresolved symbols error reporting
2024-07-18 09:13:08 +02:00
Jakub Konka
521933e1c0
macho: do not randomly append non-incr atoms in ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
f9fbd6302f
macho: test TLS in Zig with x86_64 backend
2024-07-18 09:13:08 +02:00
Jakub Konka
234aa86802
macho: update non-incremental section sizes for ZigObject sections
2024-07-18 09:13:08 +02:00
Jakub Konka
387a71fa5b
macho: re-enable writing out static archive with ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
84189f9d56
macho: skip resizing incremental Zig sections in r mode
2024-07-18 09:13:08 +02:00
Jakub Konka
129fe8668c
macho: write non-incremental atoms in ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
e5a66184ed
macho: pretty print relocation types in logs and errors
2024-07-18 09:13:08 +02:00
Jakub Konka
01fc33c949
macho: emit relocs for non-zig-sections in ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
853ca403c4
macho: bring back relocatable mode for ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
cba04ff244
macho: re-enable calculating num of relocs for ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
2579c55d49
macho: adjust global creation in ZigObject to new model
2024-07-18 09:13:08 +02:00
Jakub Konka
4aff0ec394
macho: move relocs re-resolution logic to ZigObject
2024-07-18 09:13:08 +02:00
Jakub Konka
b62281a9c8
macho: re-enable relocatable mode
2024-07-18 09:13:08 +02:00
Jakub Konka
90c54f1eb6
macho: fix symbol visibility merging logic
2024-07-18 09:13:08 +02:00
Jakub Konka
3d58faed12
macho: we do not yet support interposable symbols
2024-07-18 09:13:08 +02:00
Jakub Konka
b4e6b3c53c
macho: bring back parts of r mode
2024-07-18 09:13:08 +02:00
Jakub Konka
05a790d784
macho: link hello world in zig compiled with llvm
2024-07-18 09:13:08 +02:00
Jakub Konka
18778e2a0a
macho: bring back parts of ar
2024-07-18 09:13:08 +02:00
Jakub Konka
174de37cef
macho: fix compile errors
2024-07-18 09:13:08 +02:00
Jakub Konka
5b4c0cc1f9
macho: update ZigObject to use new ownership model
2024-07-18 09:13:08 +02:00
Jakub Konka
f8b5466aef
macho: migrate UnwindInfo
2024-07-18 09:13:08 +02:00
Jakub Konka
882ff3ae31
macho: migrate eh_frame module
2024-07-18 09:13:08 +02:00
Jakub Konka
b96339f6f6
macho: migrate Relocation struct
2024-07-18 09:13:08 +02:00
Jakub Konka
58997363d3
macho: migrate MachO.File abstraction
2024-07-18 09:13:08 +02:00
Jakub Konka
f86a38564f
macho: migrate synthetic sections
2024-07-18 09:13:08 +02:00
Jakub Konka
2e87883be8
macho: migrate the MachO driver
2024-07-18 09:13:08 +02:00
Jakub Konka
355992cbdf
macho: migrate some of MachO driver
2024-07-18 09:13:08 +02:00
Jakub Konka
b9bac32a25
macho: migrate Atom and Symbol
2024-07-18 09:13:08 +02:00
Jakub Konka
c59583e43d
macho: migrate InternalObject and Dylib
2024-07-18 09:13:08 +02:00