blob: f9ad183758c28ff648890d1bd4bbd599562cd795 [file] [log] [blame]
Junio C Hamano52be5fc2005-09-04 15:40:18 -07001#!/bin/sh
2#
3# Copyright (c) 2005 Junio C Hamano
4#
5
Junio C Hamano5be60072007-07-02 22:52:14 -07006test_description='git apply should not get confused with rename/copy.
Junio C Hamano52be5fc2005-09-04 15:40:18 -07007
8'
9
10. ./test-lib.sh
11
12# setup
13
Junio C Hamanob7a036b2006-07-26 11:01:07 -070014mkdir -p klibc/arch/x86_64/include/klibc
Junio C Hamano52be5fc2005-09-04 15:40:18 -070015
16cat >klibc/arch/x86_64/include/klibc/archsetjmp.h <<\EOF
17/*
18 * arch/x86_64/include/klibc/archsetjmp.h
19 */
20
21#ifndef _KLIBC_ARCHSETJMP_H
22#define _KLIBC_ARCHSETJMP_H
23
24struct __jmp_buf {
25 unsigned long __rbx;
26 unsigned long __rsp;
27 unsigned long __rbp;
28 unsigned long __r12;
29 unsigned long __r13;
30 unsigned long __r14;
31 unsigned long __r15;
32 unsigned long __rip;
33};
34
35typedef struct __jmp_buf jmp_buf[1];
36
37#endif /* _SETJMP_H */
38EOF
Junio C Hamanoa9a3e822008-07-09 19:58:23 -070039cat >klibc/README <<\EOF
40This is a simple readme file.
41EOF
Junio C Hamano52be5fc2005-09-04 15:40:18 -070042
43cat >patch <<\EOF
44diff --git a/klibc/arch/x86_64/include/klibc/archsetjmp.h b/include/arch/cris/klibc/archsetjmp.h
45similarity index 76%
46copy from klibc/arch/x86_64/include/klibc/archsetjmp.h
47copy to include/arch/cris/klibc/archsetjmp.h
48--- a/klibc/arch/x86_64/include/klibc/archsetjmp.h
49+++ b/include/arch/cris/klibc/archsetjmp.h
50@@ -1,21 +1,24 @@
51 /*
52- * arch/x86_64/include/klibc/archsetjmp.h
53+ * arch/cris/include/klibc/archsetjmp.h
54 */
Junio C Hamanoa6080a02007-06-07 00:04:01 -070055
Junio C Hamano52be5fc2005-09-04 15:40:18 -070056 #ifndef _KLIBC_ARCHSETJMP_H
57 #define _KLIBC_ARCHSETJMP_H
Junio C Hamanoa6080a02007-06-07 00:04:01 -070058
Junio C Hamano52be5fc2005-09-04 15:40:18 -070059 struct __jmp_buf {
60- unsigned long __rbx;
61- unsigned long __rsp;
62- unsigned long __rbp;
63- unsigned long __r12;
64- unsigned long __r13;
65- unsigned long __r14;
66- unsigned long __r15;
67- unsigned long __rip;
68+ unsigned long __r0;
69+ unsigned long __r1;
70+ unsigned long __r2;
71+ unsigned long __r3;
72+ unsigned long __r4;
73+ unsigned long __r5;
74+ unsigned long __r6;
75+ unsigned long __r7;
76+ unsigned long __r8;
77+ unsigned long __sp;
78+ unsigned long __srp;
79 };
Junio C Hamanoa6080a02007-06-07 00:04:01 -070080
Junio C Hamano52be5fc2005-09-04 15:40:18 -070081 typedef struct __jmp_buf jmp_buf[1];
Junio C Hamanoa6080a02007-06-07 00:04:01 -070082
Junio C Hamano52be5fc2005-09-04 15:40:18 -070083-#endif /* _SETJMP_H */
84+#endif /* _KLIBC_ARCHSETJMP_H */
85diff --git a/klibc/arch/x86_64/include/klibc/archsetjmp.h b/include/arch/m32r/klibc/archsetjmp.h
86similarity index 66%
87rename from klibc/arch/x86_64/include/klibc/archsetjmp.h
88rename to include/arch/m32r/klibc/archsetjmp.h
89--- a/klibc/arch/x86_64/include/klibc/archsetjmp.h
90+++ b/include/arch/m32r/klibc/archsetjmp.h
91@@ -1,21 +1,21 @@
92 /*
93- * arch/x86_64/include/klibc/archsetjmp.h
94+ * arch/m32r/include/klibc/archsetjmp.h
95 */
Junio C Hamanoa6080a02007-06-07 00:04:01 -070096
Junio C Hamano52be5fc2005-09-04 15:40:18 -070097 #ifndef _KLIBC_ARCHSETJMP_H
98 #define _KLIBC_ARCHSETJMP_H
Junio C Hamanoa6080a02007-06-07 00:04:01 -070099
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700100 struct __jmp_buf {
101- unsigned long __rbx;
102- unsigned long __rsp;
103- unsigned long __rbp;
104+ unsigned long __r8;
105+ unsigned long __r9;
106+ unsigned long __r10;
107+ unsigned long __r11;
108 unsigned long __r12;
109 unsigned long __r13;
110 unsigned long __r14;
111 unsigned long __r15;
112- unsigned long __rip;
113 };
Junio C Hamanoa6080a02007-06-07 00:04:01 -0700114
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700115 typedef struct __jmp_buf jmp_buf[1];
Junio C Hamanoa6080a02007-06-07 00:04:01 -0700116
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700117-#endif /* _SETJMP_H */
118+#endif /* _KLIBC_ARCHSETJMP_H */
Junio C Hamanoa9a3e822008-07-09 19:58:23 -0700119diff --git a/klibc/README b/klibc/README
120--- a/klibc/README
121+++ b/klibc/README
122@@ -1,1 +1,4 @@
123 This is a simple readme file.
124+And we add a few
125+lines at the
126+end of it.
127diff --git a/klibc/README b/klibc/arch/README
128copy from klibc/README
129copy to klibc/arch/README
130--- a/klibc/README
131+++ b/klibc/arch/README
132@@ -1,1 +1,3 @@
133 This is a simple readme file.
134+And we copy it to one level down, and
135+add a few lines at the end of it.
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700136EOF
137
Junio C Hamano5be60072007-07-02 22:52:14 -0700138find klibc -type f -print | xargs git update-index --add --
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700139
Junio C Hamano5be60072007-07-02 22:52:14 -0700140test_expect_success 'check rename/copy patch' 'git apply --check patch'
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700141
Junio C Hamano5be60072007-07-02 22:52:14 -0700142test_expect_success 'apply rename/copy patch' 'git apply --index patch'
Junio C Hamano52be5fc2005-09-04 15:40:18 -0700143
144test_done