<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>What is the right way to handle these:<BR> <A href="http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.3/patches/">http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.3/patches/</A><BR>
I imagine:<BR> 1) import them m3-sys/m3cc/src/patches/openbsd<BR> 2) perhaps use a vendor branch for the import<BR>   however they haven't changed in 14 months<BR>   and HOPEFULLY they get ported upstream<BR> 3) apply patches at build time<BR>
<BR>Seems kind of bad, but I figure also too much to manage to checkin the patch results?<BR>I realize it stinks largely due to the risk of accidentally doing what is avoided.<BR>Maybe there is like "VPATH" and the to-be-patched files can be copied in the output<BR>directory and patched there?<BR>
<BR> They aren't all needed, by far, but definitely some of them are needed.<BR>
 <BR>
 not needed, roughly:<BR>    *objc*, *ada*, *lib*<BR>
<BR> needed, roughly: <BR>  *config* <BR>
<BR> unclear:<BR>  all the NULL to (void*) 0 diffs, which are a lot of it<BR>
<BR> I kinda'thunk:<BR>  #ifdef __cplusplus<BR>  #define NULL 0 /* would perhaps need patch, depending on what calling conventions<BR>
  do with parameters and return values smaller than a word */ <BR>  #else<BR>  #define NULL ((void*) 0) /* no need for patch */ <BR>  #endif<BR>
<BR>in particular because in C++ a cast from void* to another* is needed, but not in C.<BR>
<BR>In fact I see this on OpenBSD:<BR>
<BR> #ifndef NULL<BR> #ifdef  __GNUG__<BR> #define NULL    __null<BR> #else<BR> #define NULL    0L<BR> #endif<BR>
<BR>Similar question for the AMD64_NT gcc patches, though these are newer, apparently<BR>still need testing, and since they are new, more hope they will go upstream.<BR>I don't know why the OpenBSD patches linger, I didn't ask.<BR>
<BR>I'll proceed as my suggest takes but presumably won't be read to commit<BR>  till after broader judgement/consensus rendered.<BR>
<BR>  - Jay<BR></body>
</html>