annotate tango-0.99.8.patch @ 1404:11b122f92136

Now that templates instantiations are no longer emitted for all modules that even blink at them they seem to break due to being linkonce (if compiled with any optimization level > 0), so let's give them weak linkage instead. The difference is that unreferenced linkonce symbols can be deleted, while weak symbols need to be preserved.
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 21 May 2009 15:23:28 +0200
parents 967d28b7febe
children 2a8d4f98b543
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1371
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1 Index: object.di
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2 ===================================================================
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3 --- object.di (revision 4655)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 +++ object.di (working copy)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5 @@ -41,9 +41,11 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6 // 2: // has no possible pointers into GC memory
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 // 4: // has offTi[] member
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 // 8: // has constructors
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 + // 32: // has typeinfo
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 void* deallocator;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11 OffsetTypeInfo[] offTi;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 void* defaultConstructor;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 + TypeInfo typeinfo;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15 static ClassInfo find(char[] classname);
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 Object create();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17 Index: lib/common/tango/core/Thread.d
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 ===================================================================
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
19 --- lib/common/tango/core/Thread.d (revision 4655)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
20 +++ lib/common/tango/core/Thread.d (working copy)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
21 @@ -295,7 +295,7 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
22 }
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
23 else version (X86_64)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
24 {
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
25 - ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
26 + ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
27 asm
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
28 {
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
29 movq rax[RBP], RAX ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
30 @@ -306,6 +306,8 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
31 movq rsi[RBP], RSI ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
32 movq rdi[RBP], RDI ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
33 movq rsp[RBP], RSP ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
34 + movq r8[RBP], R8 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
35 + movq r9[RBP], R9 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
36 movq r10[RBP], R10 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
37 movq r11[RBP], R11 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
38 movq r12[RBP], R12 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
39 Index: lib/gc/basic/gcx.d
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
40 ===================================================================
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
41 --- lib/gc/basic/gcx.d (revision 4655)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
42 +++ lib/gc/basic/gcx.d (working copy)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
43 @@ -2198,7 +2198,7 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
44 }
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
45 else version (X86_64)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
46 {
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
47 - ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
48 + ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
49 asm
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
50 {
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
51 movq rax[RBP], RAX ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
52 @@ -2209,6 +2209,8 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
53 movq rsi[RBP], RSI ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
54 movq rdi[RBP], RDI ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
55 movq rsp[RBP], RSP ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
56 + movq r8[RBP], R8 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
57 + movq r9[RBP], R9 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
58 movq r10[RBP], R10 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
59 movq r11[RBP], R11 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
60 movq r12[RBP], R12 ;
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
61 Index: tango/net/Socket.d
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
62 ===================================================================
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
63 --- tango/net/Socket.d (revision 4655)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
64 +++ tango/net/Socket.d (working copy)
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
65 @@ -1545,10 +1545,10 @@
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
66
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
67 abstract class Address
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
68 {
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
69 - protected sockaddr* name();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
70 - protected int nameLen();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
71 - AddressFamily addressFamily();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
72 - char[] toString();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
73 + abstract protected sockaddr* name();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
74 + abstract protected int nameLen();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
75 + abstract AddressFamily addressFamily();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
76 + abstract char[] toString();
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
77
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
78 /***********************************************************************
967d28b7febe Add patch for Tango 0.99.8.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
79