[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/ilalink link_class.c,1.11,1.12 link_lib
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/ilalink link_class.c,1.11,1.12 link_library.c,1.15,1.16 link_main.c,1.16,1.17 |
Date: |
Thu, 27 Feb 2003 19:04:22 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/ilalink
In directory subversions:/tmp/cvs-serv8422/ilalink
Modified Files:
link_class.c link_library.c link_main.c
Log Message:
Handle object files from Visual C++ a little better in the linker.
Index: link_class.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_class.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** link_class.c 18 Feb 2003 07:23:49 -0000 1.11
--- link_class.c 28 Feb 2003 00:04:20 -0000 1.12
***************
*** 114,118 ****
isModule = 1;
}
! else if(linker->memoryModel != 0)
{
/* Duplicate classes are valid in C objects, as
they
--- 114,119 ----
isModule = 1;
}
! else if(linker->memoryModel != 0 ||
! !strncmp(ILClass_Name(classInfo),
"$ArrayType$", 11))
{
/* Duplicate classes are valid in C objects, as
they
Index: link_library.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_library.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** link_library.c 25 Aug 2002 05:27:49 -0000 1.15
--- link_library.c 28 Feb 2003 00:04:20 -0000 1.16
***************
*** 472,475 ****
--- 472,493 ----
if(libSymbol)
{
+ /* Don't report an error if it looks like a PInvoke or
+ field RVA definition. This can happen with code
+ generated by certain C compilers */
+ if(ILMember_IsMethod(member))
+ {
+ if(ILMethod_HasPInvokeImpl((ILMethod *)member))
+ {
+ return 1;
+ }
+ }
+ if(ILMember_IsField(member))
+ {
+ if((ILField_Attrs((ILField *)member) &
+ IL_META_FIELDDEF_HAS_FIELD_RVA)
!= 0)
+ {
+ return 1;
+ }
+ }
fprintf(stderr, "%s : multiply defined\n", name);
linker->error = 1;
Index: link_main.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_main.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** link_main.c 13 Feb 2003 23:19:12 -0000 1.16
--- link_main.c 28 Feb 2003 00:04:20 -0000 1.17
***************
*** 864,876 ****
}
}
- else if(format == IL_IMAGETYPE_DLL)
- {
- if(ILLinkerHasEntryPoint(linker))
- {
- fprintf(stderr, "%s: DLL's cannot have entry
points\n",
- outputFile);
- errors = 1;
- }
- }
}
--- 864,867 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/ilalink link_class.c,1.11,1.12 link_library.c,1.15,1.16 link_main.c,1.16,1.17,
Rhys Weatherley <address@hidden> <=