mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
Fix broken links to the Itanium CXX ABI
llvm-svn: 312985
This commit is contained in:
parent
53fd82bbcc
commit
dc99911eb8
@ -119,7 +119,7 @@ ABI
|
|||||||
===
|
===
|
||||||
|
|
||||||
* `System V Application Binary Interface <http://www.sco.com/developers/gabi/latest/contents.html>`_
|
* `System V Application Binary Interface <http://www.sco.com/developers/gabi/latest/contents.html>`_
|
||||||
* `Itanium C++ ABI <http://mentorembedded.github.io/cxx-abi/>`_
|
* `Itanium C++ ABI <http://itanium-cxx-abi.github.io/cxx-abi/>`_
|
||||||
|
|
||||||
Linux
|
Linux
|
||||||
-----
|
-----
|
||||||
|
@ -32,13 +32,13 @@ execution of an application.
|
|||||||
|
|
||||||
A more complete description of the Itanium ABI exception handling runtime
|
A more complete description of the Itanium ABI exception handling runtime
|
||||||
support of can be found at `Itanium C++ ABI: Exception Handling
|
support of can be found at `Itanium C++ ABI: Exception Handling
|
||||||
<http://mentorembedded.github.com/cxx-abi/abi-eh.html>`_. A description of the
|
<http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html>`_. A description of the
|
||||||
exception frame format can be found at `Exception Frames
|
exception frame format can be found at `Exception Frames
|
||||||
<http://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html>`_,
|
<http://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html>`_,
|
||||||
with details of the DWARF 4 specification at `DWARF 4 Standard
|
with details of the DWARF 4 specification at `DWARF 4 Standard
|
||||||
<http://dwarfstd.org/Dwarf4Std.php>`_. A description for the C++ exception
|
<http://dwarfstd.org/Dwarf4Std.php>`_. A description for the C++ exception
|
||||||
table formats can be found at `Exception Handling Tables
|
table formats can be found at `Exception Handling Tables
|
||||||
<http://mentorembedded.github.com/cxx-abi/exceptions.pdf>`_.
|
<http://itanium-cxx-abi.github.io/cxx-abi/exceptions.pdf>`_.
|
||||||
|
|
||||||
Setjmp/Longjmp Exception Handling
|
Setjmp/Longjmp Exception Handling
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
@ -128,7 +128,7 @@ address points of the vtables of A, B and D respectively). If we then load
|
|||||||
an address from that pointer, we know that the address can only be one of
|
an address from that pointer, we know that the address can only be one of
|
||||||
``&A::f``, ``&B::f`` or ``&D::f``.
|
``&A::f``, ``&B::f`` or ``&D::f``.
|
||||||
|
|
||||||
.. _address point: https://mentorembedded.github.io/cxx-abi/abi.html#vtable-general
|
.. _address point: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vtable-general
|
||||||
|
|
||||||
Testing Addresses For Type Membership
|
Testing Addresses For Type Membership
|
||||||
=====================================
|
=====================================
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
// Cases -1 and 7 are caught by a C++ test harness where the validity of
|
// Cases -1 and 7 are caught by a C++ test harness where the validity of
|
||||||
// of a C++ catch(...) clause catching a generated exception with a
|
// of a C++ catch(...) clause catching a generated exception with a
|
||||||
// type info type of 7 is explained by: example in rules 1.6.4 in
|
// type info type of 7 is explained by: example in rules 1.6.4 in
|
||||||
// http://mentorembedded.github.com/cxx-abi/abi-eh.html (v1.22)
|
// http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html (v1.22)
|
||||||
//
|
//
|
||||||
// This code uses code from the llvm compiler-rt project and the llvm
|
// This code uses code from the llvm compiler-rt project and the llvm
|
||||||
// Kaleidoscope project.
|
// Kaleidoscope project.
|
||||||
@ -101,7 +101,7 @@ struct OurExceptionType_t {
|
|||||||
///
|
///
|
||||||
/// Note: The above unwind.h defines struct _Unwind_Exception to be aligned
|
/// Note: The above unwind.h defines struct _Unwind_Exception to be aligned
|
||||||
/// on a double word boundary. This is necessary to match the standard:
|
/// on a double word boundary. This is necessary to match the standard:
|
||||||
/// http://mentorembedded.github.com/cxx-abi/abi-eh.html
|
/// http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
|
||||||
struct OurBaseException_t {
|
struct OurBaseException_t {
|
||||||
struct OurExceptionType_t type;
|
struct OurExceptionType_t type;
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ void deleteOurException(OurUnwindException *expToDelete) {
|
|||||||
/// This function is the struct _Unwind_Exception API mandated delete function
|
/// This function is the struct _Unwind_Exception API mandated delete function
|
||||||
/// used by foreign exception handlers when deleting our exception
|
/// used by foreign exception handlers when deleting our exception
|
||||||
/// (OurException), instances.
|
/// (OurException), instances.
|
||||||
/// @param reason See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html
|
/// @param reason See @link http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
|
||||||
/// @unlink
|
/// @unlink
|
||||||
/// @param expToDelete exception instance to delete
|
/// @param expToDelete exception instance to delete
|
||||||
void deleteFromUnwindOurException(_Unwind_Reason_Code reason,
|
void deleteFromUnwindOurException(_Unwind_Reason_Code reason,
|
||||||
@ -489,7 +489,7 @@ static uintptr_t readEncodedPointer(const uint8_t **data, uint8_t encoding) {
|
|||||||
/// are supported. Filters are not supported.
|
/// are supported. Filters are not supported.
|
||||||
/// See Variable Length Data in:
|
/// See Variable Length Data in:
|
||||||
/// @link http://dwarfstd.org/Dwarf3.pdf @unlink
|
/// @link http://dwarfstd.org/Dwarf3.pdf @unlink
|
||||||
/// Also see @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
/// Also see @link http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param resultAction reference variable which will be set with result
|
/// @param resultAction reference variable which will be set with result
|
||||||
/// @param classInfo our array of type info pointers (to globals)
|
/// @param classInfo our array of type info pointers (to globals)
|
||||||
/// @param actionEntry index into above type info array or 0 (clean up).
|
/// @param actionEntry index into above type info array or 0 (clean up).
|
||||||
@ -583,7 +583,7 @@ static bool handleActionValue(int64_t *resultAction,
|
|||||||
|
|
||||||
|
|
||||||
/// Deals with the Language specific data portion of the emitted dwarf code.
|
/// Deals with the Language specific data portion of the emitted dwarf code.
|
||||||
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
/// See @link http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param version unsupported (ignored), unwind version
|
/// @param version unsupported (ignored), unwind version
|
||||||
/// @param lsda language specific data area
|
/// @param lsda language specific data area
|
||||||
/// @param _Unwind_Action actions minimally supported unwind stage
|
/// @param _Unwind_Action actions minimally supported unwind stage
|
||||||
@ -767,7 +767,7 @@ static _Unwind_Reason_Code handleLsda(int version, const uint8_t *lsda,
|
|||||||
|
|
||||||
/// This is the personality function which is embedded (dwarf emitted), in the
|
/// This is the personality function which is embedded (dwarf emitted), in the
|
||||||
/// dwarf unwind info block. Again see: JITDwarfEmitter.cpp.
|
/// dwarf unwind info block. Again see: JITDwarfEmitter.cpp.
|
||||||
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
/// See @link http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param version unsupported (ignored), unwind version
|
/// @param version unsupported (ignored), unwind version
|
||||||
/// @param _Unwind_Action actions minimally supported unwind stage
|
/// @param _Unwind_Action actions minimally supported unwind stage
|
||||||
/// (forced specifically not supported)
|
/// (forced specifically not supported)
|
||||||
@ -814,7 +814,7 @@ _Unwind_Reason_Code ourPersonality(int version, _Unwind_Action actions,
|
|||||||
/// Generates our _Unwind_Exception class from a given character array.
|
/// Generates our _Unwind_Exception class from a given character array.
|
||||||
/// thereby handling arbitrary lengths (not in standard), and handling
|
/// thereby handling arbitrary lengths (not in standard), and handling
|
||||||
/// embedded \0s.
|
/// embedded \0s.
|
||||||
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
/// See @link http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param classChars char array to encode. NULL values not checkedf
|
/// @param classChars char array to encode. NULL values not checkedf
|
||||||
/// @param classCharsSize number of chars in classChars. Value is not checked.
|
/// @param classCharsSize number of chars in classChars. Value is not checked.
|
||||||
/// @returns class value
|
/// @returns class value
|
||||||
@ -1571,7 +1571,7 @@ void runExceptionThrow(llvm::ExecutionEngine *engine,
|
|||||||
catch (...) {
|
catch (...) {
|
||||||
// Catch all exceptions including our generated ones. This latter
|
// Catch all exceptions including our generated ones. This latter
|
||||||
// functionality works according to the example in rules 1.6.4 of
|
// functionality works according to the example in rules 1.6.4 of
|
||||||
// http://mentorembedded.github.com/cxx-abi/abi-eh.html (v1.22),
|
// http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html (v1.22),
|
||||||
// given that these will be exceptions foreign to C++
|
// given that these will be exceptions foreign to C++
|
||||||
// (the _Unwind_Exception::exception_class should be different from
|
// (the _Unwind_Exception::exception_class should be different from
|
||||||
// the one used by C++).
|
// the one used by C++).
|
||||||
|
@ -273,7 +273,7 @@ public:
|
|||||||
/// An "identifier" for a virtual function. This contains the type identifier
|
/// An "identifier" for a virtual function. This contains the type identifier
|
||||||
/// represented as a GUID and the offset from the address point to the virtual
|
/// represented as a GUID and the offset from the address point to the virtual
|
||||||
/// function pointer, where "address point" is as defined in the Itanium ABI:
|
/// function pointer, where "address point" is as defined in the Itanium ABI:
|
||||||
/// https://mentorembedded.github.io/cxx-abi/abi.html#vtable-general
|
/// https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vtable-general
|
||||||
struct VFuncId {
|
struct VFuncId {
|
||||||
GlobalValue::GUID GUID;
|
GlobalValue::GUID GUID;
|
||||||
uint64_t Offset;
|
uint64_t Offset;
|
||||||
|
@ -77,7 +77,7 @@ const char *ReadModule(char SizeofPtr, const char *Begin, const char *End) {
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
// As the instrumentation tracks the return address and not
|
// As the instrumentation tracks the return address and not
|
||||||
// the address of the call to `__sanitizer_stats_report` we
|
// the address of the call to `__sanitizer_stat_report` we
|
||||||
// remove one from the address to get the correct DI.
|
// remove one from the address to get the correct DI.
|
||||||
if (Expected<DILineInfo> LineInfo =
|
if (Expected<DILineInfo> LineInfo =
|
||||||
Symbolizer.symbolizeCode(Filename, Addr - 1)) {
|
Symbolizer.symbolizeCode(Filename, Addr - 1)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user