forked from OSchip/llvm-project
40 lines
1.3 KiB
ReStructuredText
40 lines
1.3 KiB
ReStructuredText
=====================
|
|
Error Handling Script
|
|
=====================
|
|
|
|
LLD provides the ability to hook into some error handling routines through a
|
|
user-provided script specified with ``--error-handling-script=<path to the script>``
|
|
when certain errors are encountered. This document specifies the requirements of
|
|
such a script.
|
|
|
|
Generic Requirements
|
|
====================
|
|
|
|
The script is expected to be available in the ``PATH`` or to be provided using a
|
|
full path. It must be executable. It is executed in the same environment as the
|
|
parent process.
|
|
|
|
Arguments
|
|
=========
|
|
|
|
LLD calls the error handling script using the following arguments::
|
|
|
|
error-handling-script <tag> <tag-specific-arguments...>
|
|
|
|
The following tags are supported:
|
|
|
|
- ``missing-lib``: indicates that LLD failed to find a library. The library name
|
|
is specified as the second argument, e.g. ``error-handling-script missing-lib
|
|
mylib``
|
|
|
|
- ``undefined-symbol``: indicates that given symbol is marked as undefined. The
|
|
unmangled symbol name is specified as the second argument, e.g.
|
|
``error-handling-script undefined-symbol mysymbol``
|
|
|
|
Return Value
|
|
============
|
|
|
|
Upon success, the script is expected to return 0. A non-zero value is
|
|
interpreted as an error and reported to the user. In both cases, LLD still
|
|
reports the original error.
|