[#5143] Win32API segfault in 1.8.3p1 — Nathaniel Talbott <ntalbott@...>
I'm on Windows XP, using VC7 to compile. I've previously gotten a good
Hi,
[#5151] COPY and INSTALL on Windows — Nathaniel Talbott <ntalbott@...>
1.8.3p1 has changed the defaults for the COPY and INSTALL Makefile
[#5152] 1.8.3 p1 segfault in array.c- bccwin32 - bcc5.5 (free) compiler bug — "daz" <dooby@...10.karoo.co.uk>
[#5160] Alternative for win32\ifchange.bat — "daz" <dooby@...10.karoo.co.uk>
[#5179] Cannot build HEAD on OS X 10.4.1 — Eric Hodel <drbrain@...7.net>
Somehow the rb_fd_init macro is conflicting with the definition of
Hi,
Hi,
[#5188] Re: IO#read — Yukihiro Matsumoto <matz@...>
Hi,
[#5190] Resolv and TTL — Eric Hodel <drbrain@...7.net>
I would like to retrieve the TTL values from Resolv, but they seem to
[#5206] Object#inspect() doesn't return; uses 100% cpu — Andrew Walrond <andrew@...>
Is this something I could have caused by overriding some method on the
[#5211] ruby 1.8 CVS do not work with --enable-pthread configure option — noreply@...
Bugs item #2038, was opened at 2005-06-16 13:57
[#5215] Hackers Guide Translation Request! — "Charles E. Thornton" <ruby-core@...>
I have recently discovered RUBY and want to understand it a deep level -
[#5219] Segmentation fault in timeout.rb — Michel Pastor <K@...>
Hi,
On Fri, 17 Jun 2005 05:03:18 +0900
Hi,
On Fri, 17 Jun 2005 11:51:07 +0900
Hi,
On Sat, 18 Jun 2005 10:28:53 +0900
Hi,
On Sun, 19 Jun 2005 23:05:56 +0900
[#5233] event_hook shows weirdness when invoked on mixed in methods — Ryan Davis <ryand-ruby@...>
The following attachment, when run, shows the following behavior:
[#5264] XMLRPC vulnerabilities? — Hugh Sasse <hgs@...>
I've just seen this (by RSS)
[#5267] RubyUnit Test Ordering — Jordan Gilliland <jordan@...>
I'm using ruby 1.8.2 (2004-12-25) [i686-linux] and I've noticed that the
[#5277] Macros in win32.h — james@...
win32.h defines a load of macros. This means any C or C++ program which embeds
[#5288] committing rdoc additions corrections to head? — Ryan Davis <ryand-ruby@...>
There is some discussion on ruby-doc about people documenting core
[#5296] Subversion — Shugo Maeda <shugo@...>
Hi,
Shugo Maeda wrote:
Curt Hibbs wrote:
On 6/30/05, Nikolai Weibull
Austin Ziegler wrote:
On 6/30/05, Nikolai Weibull
Austin Ziegler wrote:
On 6/30/05, mathew <meta@pobox.com> wrote:
Austin Ziegler wrote:
On 7/1/05, mathew <meta@pobox.com> wrote:
Austin Ziegler wrote:
On 7/1/05, Nikolai Weibull
Austin Ziegler wrote:
On 7/1/05, mathew <meta@pobox.com> wrote:
Austin Ziegler wrote:
On Thursday 30 June 2005 19:19, mathew wrote:
"Sean E. Russell" <ser@germane-software.com> writes:
On 30 Jun 2005, at 08:19, Shugo Maeda wrote:
Hi,
[PATCH] 1.8.3 p1 segfault in array.c- bccwin32 - bcc5.5 (free) compiler bug
Hi,
There's a line in array.c which confuses the Borland 5.5 compiler
optimizer into corrupting a pointer held in a register.
Use of -O2 flag with the 'free' compiler causes a SEGV in
miniruby during the bccwin32 build process.
I tried to produce a small test case for the Borland community to
comment on but without success, so I can't say if this is a known
problem or even what the problem is.
It doesn't occur anywhere else in the 183p1 source.
Fix has a much smaller impact than adding 'volatile' would have.
I don't like the code change, especially as it means the same thing
but it will be preferable to the SEGV if you can bear it.
---
* array.c (sort_2): work around SEGV caused by rare Borland 5.5
compiler bug when using optimize -O2 flag [ruby-core:5152]
=======================================================================
--- array_1_137_2_23.c Fri May 13 03:38:18 2005
+++ array_patched.c Mon Jun 06 17:35:30 2005
@@ -1584,7 +1584,7 @@ sort_2(ap, bp, data)
if ((long)a < (long)b) return -1;
return 0;
}
- if (TYPE(a) == T_STRING && TYPE(b) == T_STRING) {
+ if (TYPE(a) == T_STRING) if (TYPE(b) == T_STRING) { /* OK: && */
return rb_str_cmp(a, b);
}
=======================================================================
In case you're interested, here's the offending part of the
assembler expansion:
;
; if (TYPE(a) == T_STRING && TYPE(b) == T_STRING) {
;
; EBX = a, ESI = b ; returns EDX
; <snip>
; [ TYPE(a) ] if (a == Qundef) return T_UNDEF;
cmp ebx,6
jne short @542
mov edx,60
jmp short @543
@542:
; [ TYPE(a) ] if (SYMBOL_P(a)) return T_SYMBOL;
and ebx,255 ; <---*** VALUE 'a' in EBX corrupted ***
cmp ebx,14
jne short @544
mov edx,36
jmp short @545
@544:
; return BUILTIN_TYPE(a);
mov edx,dword ptr [ebx] ; <---*** SEGV (ebx)
and edx,63
@543:
@545:
; <snip> same for TYPE(b) }
The bug sends its apologies :-o
daz
begin 666 array_bccO2.patch
M+2TM(&%R<F%Y7S%?,3,W7S)?,C,N8PE&<FD@36%Y(#$S(# S.C,X.C$X(#(P
M,#4**RLK(&%R<F%Y7W!A=&-H960N8PD)36]N($IU;B P-B Q-SHS-3HS," R
M,# U"D! ("TQ-3@T+#<@*S$U.#0L-R! 0"!S;W)T7S(H87 L(&)P+"!D871A
M*0H@"6EF("@H;&]N9REA(#P@*&QO;F<I8BD@<F5T=7)N("TQ.PH@"7)E='5R
M;B P.PH@(" @('T*+2 @("!I9B H5%E012AA*2 ]/2!47U-44DE.1R F)B!4
M65!%*&(I(#T](%1?4U1224Y'*2!["BL@(" @:68@*%194$4H82D@/3T@5%]3
M5%))3D<I(&EF("A465!%*&(I(#T](%1?4U1224Y'*2![(" O*B!/2SH@)B8@
E*B\*( ER971U<FX@<F)?<W1R7V-M<"AA+"!B*3L*(" @("!]"@``
`
end