Commit 150305c
committed
[Backtracing][Linux] Fix crash handler for musl.
Musl's `clone()` wrapper returns `EINVAL` if you try to use `CLONE_THREAD`,
which seems a bit wrong (certainly it is in this particular application,
since we *really* don't care whether the thread is a valid C library
thread at this point).
Also properly support ELF images that are built with a base address other
than zero (this typically isn't an issue for dynamically linked programs,
as they will be relocated at runtime anyway, but for statically linked
binaries it's very common to set the base address to a non-zero value).
rdar://1542828131 parent e69c5d6 commit 150305c
File tree
3 files changed
+56
-15
lines changed- stdlib/public
- Backtracing
- runtime
3 files changed
+56
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
875 | 875 | | |
876 | 876 | | |
877 | 877 | | |
878 | | - | |
879 | | - | |
| 878 | + | |
| 879 | + | |
880 | 880 | | |
881 | 881 | | |
882 | 882 | | |
| |||
999 | 999 | | |
1000 | 1000 | | |
1001 | 1001 | | |
| 1002 | + | |
| 1003 | + | |
1002 | 1004 | | |
1003 | 1005 | | |
1004 | 1006 | | |
| |||
1029 | 1031 | | |
1030 | 1032 | | |
1031 | 1033 | | |
| 1034 | + | |
1032 | 1035 | | |
1033 | 1036 | | |
1034 | 1037 | | |
1035 | 1038 | | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
1036 | 1047 | | |
| 1048 | + | |
1037 | 1049 | | |
1038 | 1050 | | |
1039 | 1051 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
499 | | - | |
500 | 499 | | |
501 | 500 | | |
502 | 501 | | |
503 | 502 | | |
504 | 503 | | |
505 | 504 | | |
506 | 505 | | |
| 506 | + | |
507 | 507 | | |
508 | 508 | | |
509 | 509 | | |
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
| 513 | + | |
513 | 514 | | |
514 | 515 | | |
515 | 516 | | |
| 517 | + | |
516 | 518 | | |
517 | 519 | | |
518 | 520 | | |
519 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
520 | 526 | | |
521 | 527 | | |
522 | 528 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
52 | 61 | | |
53 | 62 | | |
54 | 63 | | |
| |||
86 | 95 | | |
87 | 96 | | |
88 | 97 | | |
89 | | - | |
90 | | - | |
| 98 | + | |
| 99 | + | |
91 | 100 | | |
92 | 101 | | |
93 | 102 | | |
| |||
106 | 115 | | |
107 | 116 | | |
108 | 117 | | |
109 | | - | |
110 | | - | |
| 118 | + | |
| 119 | + | |
111 | 120 | | |
112 | 121 | | |
113 | 122 | | |
| |||
657 | 666 | | |
658 | 667 | | |
659 | 668 | | |
660 | | - | |
| 669 | + | |
| 670 | + | |
661 | 671 | | |
| 672 | + | |
662 | 673 | | |
663 | 674 | | |
664 | 675 | | |
665 | 676 | | |
666 | 677 | | |
667 | 678 | | |
668 | | - | |
669 | | - | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
670 | 685 | | |
671 | 686 | | |
672 | | - | |
| 687 | + | |
| 688 | + | |
673 | 689 | | |
| 690 | + | |
674 | 691 | | |
675 | 692 | | |
676 | 693 | | |
| |||
718 | 735 | | |
719 | 736 | | |
720 | 737 | | |
721 | | - | |
| 738 | + | |
722 | 739 | | |
723 | 740 | | |
724 | 741 | | |
| |||
743 | 760 | | |
744 | 761 | | |
745 | 762 | | |
746 | | - | |
| 763 | + | |
| 764 | + | |
747 | 765 | | |
| 766 | + | |
748 | 767 | | |
749 | 768 | | |
750 | 769 | | |
| |||
761 | 780 | | |
762 | 781 | | |
763 | 782 | | |
764 | | - | |
| 783 | + | |
| 784 | + | |
765 | 785 | | |
| 786 | + | |
766 | 787 | | |
767 | 788 | | |
768 | 789 | | |
769 | 790 | | |
770 | 791 | | |
771 | | - | |
| 792 | + | |
| 793 | + | |
772 | 794 | | |
| 795 | + | |
773 | 796 | | |
774 | 797 | | |
775 | 798 | | |
| |||
0 commit comments