This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fwd: [PING 2][PATCH] libgcc: Add CFI directives to the soft floating point support code for ARM




On 13/05/15 17:37, Ramana Radhakrishnan wrote:


On 12/05/15 14:01, Martin Galvan wrote:
On Tue, May 12, 2015 at 5:49 AM, Ramana Radhakrishnan
<ramana.radhakrishnan@arm.com> wrote:
That's what I mean when I say email clients "munged it" : email
clients and
/ or some popular email servers appear to end up munging white spaces
and
patches don't apply cleanly.

So, no it doesn't work - once you've sent it through your email client /
server. I am unable to apply the patch as it stands today either
taking the
raw text from the gcc-patches archive or from your email message in my
inbox. It's not like line endings and things have been munged but every
whitespace / tab is in trouble here.

Please send it back as an attachment if you want me to apply it.

Oh, I see! Sorry for that, I thought the problem was on my side.
Here's the patch, it's the cfi.patch file.



I'm not sure what's going on here and couldn't figure out what was going
wrong in the 20 minutes I spent on it just now.



Bah, I must be going blind.


@@ -53,11 +57,13 @@

 ARM_FUNC_START negdf2
 ARM_FUNC_ALIAS aeabi_dneg negdf2
+    CFI_START_FUNCTION

     @ flip sign bit
     eor xh, xh, #0x80000000

Either the mail server you are using or the source repository you have has replaced tabs with spaces, the eor here has a tab in the sources between eor and xh. Thus the patch is malformed according to the sources. I suspect that's the reason why all the other hunks are not applying.

Before reposting -

0. Please take care of the issue I mentioned in the previous email .

1. Please mail the patch so created to yourself on a different account and applying the patch you receive on pristine sources. Identify a mail server that you can use to send emails to lists that don't munge patches in this manner.

2. Please test such a tree and ensure no regressions in a run of the GCC testsuite.

3. Post the patch back to gcc-patches@gcc.gnu.org from the mail server that doesn't munge patches in this manner. I'll review it again then.

Thanks,
Ramana




     RET

+    CFI_END_FUNCTION
     FUNC_END aeabi_dneg
     FUNC_END negdf2







Applying the patch downloaded from 2 different inboxes still gives me
the same result.

$> patch -p1 --dry-run < /work/cfi.patch
checking file libgcc/config/arm/ieee754-df.S
Hunk #2 FAILED at 57.
Hunk #3 succeeded at 70 with fuzz 2.
Hunk #4 FAILED at 86.
Hunk #5 FAILED at 153.
Hunk #6 FAILED at 418.
Hunk #7 FAILED at 425.
Hunk #8 FAILED at 440.
Hunk #9 FAILED at 462.
Hunk #10 FAILED at 485.
Hunk #11 FAILED at 555.
Hunk #12 FAILED at 566.
Hunk #13 FAILED at 601.
Hunk #14 FAILED at 653.
Hunk #15 FAILED at 720.
Hunk #16 FAILED at 868.
Hunk #17 FAILED at 1057.
Hunk #18 FAILED at 1068.
Hunk #19 FAILED at 1082.
Hunk #20 FAILED at 1090.
Hunk #21 FAILED at 1122.
Hunk #22 FAILED at 1133.
Hunk #23 succeeded at 1145 with fuzz 2.
Hunk #24 FAILED at 1155.
Hunk #25 FAILED at 1168.
Hunk #26 FAILED at 1228.
Hunk #27 succeeded at 1236 with fuzz 2.
Hunk #28 FAILED at 1254.
Hunk #29 succeeded at 1263 with fuzz 2.
Hunk #30 FAILED at 1297.
Hunk #31 succeeded at 1306 with fuzz 2.
Hunk #32 FAILED at 1336.
Hunk #33 succeeded at 1345 with fuzz 2.
Hunk #34 FAILED at 1410.
27 out of 34 hunks FAILED
checking file libgcc/config/arm/ieee754-sf.S
Hunk #1 FAILED at 31.
Hunk #2 succeeded at 49 with fuzz 2.
Hunk #3 FAILED at 285.
Hunk #4 FAILED at 293.
Hunk #5 FAILED at 317.
Hunk #6 succeeded at 324 with fuzz 2.
Hunk #7 FAILED at 411.
Hunk #8 succeeded at 422 with fuzz 2.
Hunk #9 FAILED at 457.
Hunk #10 FAILED at 468.
Hunk #11 FAILED at 621.
Hunk #12 FAILED at 761.
Hunk #13 FAILED at 785.
Hunk #14 FAILED at 799.
Hunk #15 FAILED at 807.
Hunk #16 FAILED at 826.
Hunk #17 FAILED at 835.
Hunk #18 succeeded at 847 with fuzz 2.
Hunk #19 FAILED at 860.
Hunk #20 FAILED at 869.
Hunk #21 FAILED at 927.
Hunk #22 succeeded at 935 with fuzz 2.
Hunk #23 FAILED at 952.
Hunk #24 succeeded at 961 with fuzz 2.
Hunk #25 FAILED at 995.
Hunk #26 succeeded at 1004 with fuzz 2.
Hunk #27 FAILED at 1034.
20 out of 27 hunks FAILED
checking file libgcc/config/arm/lib1funcs.S



@@ -1149,12 +1250,16 @@ ARM_FUNC_START aeabi_cdrcmple
     mov r3, ip
     b   6f

-ARM_FUNC_START aeabi_cdcmpeq
+; ARM_FUNC_START aeabi_cdcmpeq
 ARM_FUNC_ALIAS aeabi_cdcmple aeabi_cdcmpeq


There appears  to be a stray `;' there. How has this been tested ?


     @ The status-returning routines are required to preserve all
     @ registers except ip, lr, and cpsr.
 6:  do_push {r0, lr}
+    .cfi_adjust_cfa_offset 8  @ CFA is now sp + previousOffset + 8.
+    .cfi_rel_offset r0, 0     @ Previous r0 is saved at sp.
+    .cfi_rel_offset lr, 4     @ Previous lr is saved at sp + 4.
+
     ARM_CALL cmpdf2
     @ Set the Z flag correctly, and the C flag unconditionally.
     cmp r0, #0


Can you please generate a diff using svn diff from a pristine checkout
of the sources, please and resend it as an attachment, making sure you
test this properly with a regression run.

regards
Ramana



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]