[Libreoffice-commits] core.git: bridges/source

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Wed Jul 28 20:59:44 UTC 2021


 bridges/source/cpp_uno/gcc3_linux_x86-64/call.s |   44 ++++++++++++------------
 1 file changed, 23 insertions(+), 21 deletions(-)

New commits:
commit 99fa607245332d687d494d8d4404cf067ca21fb3
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed Jul 28 15:10:20 2021 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Wed Jul 28 22:59:08 2021 +0200

    Annotate the .eh_frame data
    
    ...to convince myself that it is only about the initial %rsp/%rbp fiddling, and
    is not affected by the ca344be7aabf88dddde38841e6af6292ece6829b "tdf#143450: Fix
    special fp+integer struct return case for gcc_*_x86-64" changes to later parts
    of privateSnippetExecutor
    
    Change-Id: I7bfad4cb5e1c2208e29c73a70874b6e9eff29eb2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119610
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s b/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s
index 00909188a7b6..ee8403ab7180 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s
@@ -77,39 +77,41 @@ privateSnippetExecutor:
 	# and http://mentorembedded.github.io/cxx-abi/exceptions.pdf for more info
 	.section	.eh_frame,"a", at unwind
 .Lframe1:
-	.long	.LECIE1-.LSCIE1
+	.long	.LECIE1-.LSCIE1         # CIE Length
 .LSCIE1:
-	.long	0x0
-	.byte	0x1
-	.string	"zR"
-	.uleb128 0x1
-	.sleb128 -8
-	.byte	0x10
-	.uleb128 0x1
-	.byte	0x1b
-	.byte	0xc
+	.long	0x0                     # CIE ID
+	.byte	0x1                     # CIE Version
+	.string	"zR"                    # CIE Augmentation String
+	.uleb128 0x1                    # CIE Code Alignment Factor
+	.sleb128 -8                     # CIE Data Alignment Factor
+	.byte	0x10                    # CIE Return Address Register: pseudo "Return Address RA"
+	.uleb128 0x1                    # CIE Augmentation Data Length
+	.byte	0x1b                    # CIE Augmentation Data
+	                                # CIE Initial Instructions:
+	.byte	0xc                     #  DW_CFA_def_cfa %rsp +8
 	.uleb128 0x7
 	.uleb128 0x8
-	.byte	0x90
+	.byte	0x90                    #  DW_CFA_offset (pseudo "Return Address RA") +1 (i.e., -8)
 	.uleb128 0x1
 	.align 8
 .LECIE1:
 .LSFDE1:
-	.long	.LEFDE1-.LASFDE1
+	.long	.LEFDE1-.LASFDE1        # FDE Length
 .LASFDE1:
-	.long	.LASFDE1-.Lframe1
-	.long	.LFB3-.
-	.long	.LFE3-.LFB3
-	.uleb128 0x0
-	.byte	0x4
+	.long	.LASFDE1-.Lframe1       # FDE CIE Pointer
+	.long	.LFB3-.                 # FDE PC Begin
+	.long	.LFE3-.LFB3             # FDE PC Range
+	.uleb128 0x0                    # FDE Augmentation Data Length
+	                                # FDE Call Frame Instructions:
+	.byte	0x4                     #  DW_CFA_advance_loc4 .LCFI0
 	.long	.LCFI0-.LFB3
-	.byte	0xe
+	.byte	0xe                     #  DW_CFA_def_cfa_offset +16
 	.uleb128 0x10
-	.byte	0x86
+	.byte	0x86                    #  DW_CFA_offset %rbp +2 (i.e., -16)
 	.uleb128 0x2
-	.byte	0x4
+	.byte	0x4                     #  DW_CFA_advance_loc4 .LCFI1
 	.long	.LCFI1-.LCFI0
-	.byte	0xd
+	.byte	0xd                     #  DW_CFA_def_cfa_register %rbp
 	.uleb128 0x6
 	.align 8
 .LEFDE1:


More information about the Libreoffice-commits mailing list