<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><br class="Apple-interchange-newline"></span></div></span> </div><br><div><div>On May 19, 2008, at 1:47 PM, Jay wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">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</div></span></blockquote><div><br></div><div>Best this so later vendor upgrades don't confuse them with M3-related changes.</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; "><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:<span class="Apple-converted-space"> </span><br>  *config*<span class="Apple-converted-space"> </span><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 */<span class="Apple-converted-space"> </span><br>  #else<br>  #define NULL ((void*) 0) /* no need for patch */<span class="Apple-converted-space"> </span><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></div></span></blockquote></div><br></body></html>