[GOFF] Add emission of debug sections (#178677)
This PR adds the definition of the debug sections for emission into GOFF
files. Currently, there is no debugger available which supports all the
sections. However, they all must defined to avoid regression in LIT test
cases.
[llvm][AsmPrinter] Call graph section Flag field enum (#176309)
This enum is required in llvm-readobj ELFDumper.cpp as well for parsing
the call graph section generated. To avoid duplication of the Flag field
enum, moving this to llvm/object/ELFTypes.h.
[AIX] Implement the ifunc attribute. (#153049)
Currently, the AIX linker and loader do not provide a mechanism to
implement ifuncs similar to GNU_ifunc on ELF Linux.
On AIX, we will lower `__attribute__((ifunc("resolver"))` to the llvm
`ifunc` as other platforms do. The llvm `ifunc` in turn will get lowered
at late stages of the optimization pipeline to an AIX-specific
implementation. No special linkage or relocations are needed when
generating assembly/object output.
On AIX, a function `foo` has two symbols associated with it: a function
descriptor (`foo`) residing in the `.data` section, and an entry point
(`.foo`) residing in the `.text` section. The first field of the
descriptor is the address of the entry point. Typically, the address
field in the descriptor is initialized once: statically, at load time
(?), or at runtime if runtime linking is enabled.
Here we would like to use the address field in the descriptor to
implement the `ifunc` semantics. Specifically, the ifunc function will
[29 lines not shown]
heimdal: Add missing function prototypes
This fixes the build with GCC 14 on stable/14 which raises fatal
-Wimplicit-function-declaration warnings.
Reviewed by: rmacklem, cy
Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option")
Differential Revision: https://reviews.freebsd.org/D54931
(cherry picked from commit 8a8dc73ef87b538c369abc1b642e2a40b52c53c2)
heimdal: Pass the correct pointer to free in an error case
This fixes a warning reported by GCC 14 on stable/14:
crypto/heimdal/lib/hdb/keys.c:241:13: warning: 'free' called on pointer 'ext' with nonzero offset 16 [-Wfree-nonheap-object]
241 | free(hist_keys);
| ^~~~~~~~~~~~~~~
crypto/heimdal/lib/hdb/keys.c:234:15: note: returned from 'calloc'
234 | ext = calloc(1, sizeof (*ext));
| ^~~~~~~~~~~~~~~~~~~~~~~~
Reviewed by: rmacklem, cy
Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option")
Differential Revision: https://reviews.freebsd.org/D54932
(cherry picked from commit b26a7af438f36dcde86f39a681123cc2140affb2)
vmm: Fix a resource leak in an error path
vmmdev_create() increments the VM count as its last step and calls
vmmdev_destroy() if it fails. However, vmmdev_destroy() unconditionally
decrements the count.
Correct this bug by reordering operations.
Fixes: 1092ec8b3375 ("kern: Introduce RLIMIT_VMM")
Reviewed by: bnovkov
Differential Revision: https://reviews.freebsd.org/D55068
heimdal: Add missing function prototypes
This fixes the build with GCC 14 on stable/14 which raises fatal
-Wimplicit-function-declaration warnings.
Reviewed by: rmacklem, cy
Fixes: 5000d023a446 ("heimdal-kadmin: Add support for the -f dump option")
Differential Revision: https://reviews.freebsd.org/D54931
(cherry picked from commit 8a8dc73ef87b538c369abc1b642e2a40b52c53c2)
[mlir][emitc] Update and extend the TOSA -> EmitC test (#177339)
This patch updates and extends the TOSA-to-EmitC lowering test:
* Conversion/ConvertToEmitC/tosa.mlir
Summary of changes and rationale:
* Remove `buffer-alignment=0` from the lowering pipeline; it is not required
(the existing `CHECK` lines are not affected).
* Move the test from Conversion/ConvertToEmitC/tosa.mlir to
Dialect/EmitC/tosa/ops.mlir. Conversion tests are intended for single
conversion passes (e.g. `-convert-dialect1-to-dialect2`), whereas this test
exercises a more complex lowering pipeline with multiple explicit steps (e.g.
TOSA -> Linalg, bufferization, etc.).
* Add a Transform Dialect sequence to complement the existing lowering pipeline
definition. This introduces an additional `RUN` line that is compatible with
the original one. Using the Transform Dialect makes the pipeline easier to
document, maintain, and experiment with.
porters-handbook: Correctly document ARCH value
ARCH has the same value as `uname -p` (as documented in bsd.port.mk).
Reviewed by: ziaee
Closes: https://github.com/freebsd/freebsd-doc/pull/547
[NFC][TableGen] Adopt CodeGenHelpers in IntrinsicEmitter (#179310)
- Adopt IfDefEmitter in IntrinsicEmitter.
- Remove #undef for various flags in Intrinsics.cpp/Intrinsics.h as the
TableGen generated code does that now.