Re: Floating Point Issue

2007-09-28 Thread Bernd Petrovitsch
On Don, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
> I have small code

And the relevance to the Linux kernel as such is?
[]

Add "-Wall -Wextra" and fix all errors and warnings.

> Expected output is

No.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-28 Thread Bernd Petrovitsch
On Don, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
 I have small code

And the relevance to the Linux kernel as such is?
[]

Add -Wall -Wextra and fix all errors and warnings.

 Expected output is

No.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread WANG Cong
On Thu, Sep 27, 2007 at 05:17:44PM +0200, Jan Engelhardt wrote:
>
>On Sep 27 2007 12:41, mahamuni ashish wrote:
>>I have small code
>
>This is not a kernel problem. (Read your C book and/or ask in
>a C newsgroup.)

Please goto comp.lang.c for help. ;)

-- 
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Jan Engelhardt

On Sep 27 2007 16:53, linux-os (Dick Johnson) wrote:
>
>If Windows lets you get away with this, then Windows is broken.
>memset(ch,'\0',strlen(ch) );

No, probably just the chance that the memory to which ch points
had a nul in it or in the near bytes.

Use valgrind, move along.

>On Thu, 27 Sep 2007, mahamuni ashish wrote:
>
>> I have small code
>>
>> #include 
>> #include 
>>
>> int main()
>> {
>> float f= 1256.35;
>> char ch[4];
>>
>> printf("\n1. f : %f",f);
>> memset(ch,'\0',strlen(ch) );
>> printf("\n2. f : %f",f);
>> return 0;
>> }
>>
>> Expected output is
>> 1. f : 1256.35
>> 2. f : 1256.35
>>
>> But I am getting the output
>> (on windows)
>> 1. f : 1256.35
>> 2. f : 0.00
>>
>> (on Linux)
>> 1. f : 1256.35
>> segmentation fault
>>
>> why?
>>
>>
>>  Forgot the famous last words? Access your message archive online at 
>> http://in.messenger.yahoo.com/webmessengerpromo.php
>>
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to [EMAIL PROTECTED]
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>>
>
>Cheers,
>Dick Johnson
>Penguin : Linux version 2.6.22.1 on an i686 machine (5588.29 BogoMips).
>My book : http://www.AbominableFirebug.com/
>_
>
>
>
>The information transmitted in this message is confidential and may be 
>privileged.  Any review, retransmission, dissemination, or other use of this 
>information by persons or entities other than the intended recipient is 
>prohibited.  If you are not the intended recipient, please notify Analogic 
>Corporation immediately - by replying to this message or by sending an email 
>to [EMAIL PROTECTED] - and destroy all copies of this information, including 
>any attachments, without reading or disclosing them.
>
>Thank you.
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [EMAIL PROTECTED]
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at  http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread linux-os \(Dick Johnson\)


If Windows lets you get away with this, then Windows is broken.
memset(ch,'\0',strlen(ch) );

'ch' is uninitialized local data. Nobody knows what evil lurks...


Thay said, the kernel will make sure that any data that gets
put into your address-space doesn't contain anybody else's
information --that's all. The junk on your stack was created
by your task.


On Thu, 27 Sep 2007, mahamuni ashish wrote:

> I have small code
>
> #include 
> #include 
>
> int main()
> {
> float f= 1256.35;
> char ch[4];
>
> printf("\n1. f : %f",f);
> memset(ch,'\0',strlen(ch) );
> printf("\n2. f : %f",f);
> return 0;
> }
>
> Expected output is
> 1. f : 1256.35
> 2. f : 1256.35
>
> But I am getting the output
> (on windows)
> 1. f : 1256.35
> 2. f : 0.00
>
> (on Linux)
> 1. f : 1256.35
> segmentation fault
>
> why?
>
>
>  Forgot the famous last words? Access your message archive online at 
> http://in.messenger.yahoo.com/webmessengerpromo.php
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

Cheers,
Dick Johnson
Penguin : Linux version 2.6.22.1 on an i686 machine (5588.29 BogoMips).
My book : http://www.AbominableFirebug.com/
_



The information transmitted in this message is confidential and may be 
privileged.  Any review, retransmission, dissemination, or other use of this 
information by persons or entities other than the intended recipient is 
prohibited.  If you are not the intended recipient, please notify Analogic 
Corporation immediately - by replying to this message or by sending an email to 
[EMAIL PROTECTED] - and destroy all copies of this information, including any 
attachments, without reading or disclosing them.

Thank you.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Trond Myklebust
On Thu, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
> I have small code
> 
> #include 
> #include 
> 
> int main()
> {
> float f= 1256.35;
> char ch[4];
> 
> printf("\n1. f : %f",f);
> memset(ch,'\0',strlen(ch) );
> printf("\n2. f : %f",f);
> return 0;
> }
> 
> Expected output is
> 1. f : 1256.35
> 2. f : 1256.35
> 
> But I am getting the output
> (on windows)
> 1. f : 1256.35
> 2. f : 0.00
> 
> (on Linux)
> 1. f : 1256.35
> segmentation fault
> 
> why?

'cos 'strlen(ch)' isn't defined until you've initialised ch. If you swap
that line out with 'memset(ch, '\0', sizeof(ch))' then it will work.

Not a kernel bug, and hence not appropriate material for this list.

Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Al Viro
On Thu, Sep 27, 2007 at 12:41:41PM +0100, mahamuni ashish wrote:
> I have small code
> 
> #include 
> #include 
> 
> int main()
> {
> float f= 1256.35;
> char ch[4];
> 
> printf("\n1. f : %f",f);
> memset(ch,'\0',strlen(ch) );

strlen() applied to uninitialized array => undefined behaviour.

What does that have to do with the kernel, anyway?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Xavier Bestel
On Thu, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
> int main()
> {
> float f= 1256.35;
> char ch[4];
> 
> printf("\n1. f : %f",f);
> memset(ch,'\0',strlen(ch) );

Can't work. ch[]'s content is undefined, so strlen(ch) may read anywhere
in memory, and/or memset() write anywhere.

Xav


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Jan Engelhardt

On Sep 27 2007 12:41, mahamuni ashish wrote:
>I have small code

This is not a kernel problem. (Read your C book and/or ask in
a C newsgroup.)

>char ch[4];
>memset(ch,'\0',strlen(ch) );
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Jan Engelhardt

On Sep 27 2007 12:41, mahamuni ashish wrote:
I have small code

This is not a kernel problem. (Read your C book and/or ask in
a C newsgroup.)

char ch[4];
memset(ch,'\0',strlen(ch) );
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Xavier Bestel
On Thu, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
 int main()
 {
 float f= 1256.35;
 char ch[4];
 
 printf(\n1. f : %f,f);
 memset(ch,'\0',strlen(ch) );

Can't work. ch[]'s content is undefined, so strlen(ch) may read anywhere
in memory, and/or memset() write anywhere.

Xav


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Al Viro
On Thu, Sep 27, 2007 at 12:41:41PM +0100, mahamuni ashish wrote:
 I have small code
 
 #include stdio.h
 #include string.h
 
 int main()
 {
 float f= 1256.35;
 char ch[4];
 
 printf(\n1. f : %f,f);
 memset(ch,'\0',strlen(ch) );

strlen() applied to uninitialized array = undefined behaviour.

What does that have to do with the kernel, anyway?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Trond Myklebust
On Thu, 2007-09-27 at 12:41 +0100, mahamuni ashish wrote:
 I have small code
 
 #include stdio.h
 #include string.h
 
 int main()
 {
 float f= 1256.35;
 char ch[4];
 
 printf(\n1. f : %f,f);
 memset(ch,'\0',strlen(ch) );
 printf(\n2. f : %f,f);
 return 0;
 }
 
 Expected output is
 1. f : 1256.35
 2. f : 1256.35
 
 But I am getting the output
 (on windows)
 1. f : 1256.35
 2. f : 0.00
 
 (on Linux)
 1. f : 1256.35
 segmentation fault
 
 why?

'cos 'strlen(ch)' isn't defined until you've initialised ch. If you swap
that line out with 'memset(ch, '\0', sizeof(ch))' then it will work.

Not a kernel bug, and hence not appropriate material for this list.

Trond

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread linux-os \(Dick Johnson\)


If Windows lets you get away with this, then Windows is broken.
memset(ch,'\0',strlen(ch) );

'ch' is uninitialized local data. Nobody knows what evil lurks...


Thay said, the kernel will make sure that any data that gets
put into your address-space doesn't contain anybody else's
information --that's all. The junk on your stack was created
by your task.


On Thu, 27 Sep 2007, mahamuni ashish wrote:

 I have small code

 #include stdio.h
 #include string.h

 int main()
 {
 float f= 1256.35;
 char ch[4];

 printf(\n1. f : %f,f);
 memset(ch,'\0',strlen(ch) );
 printf(\n2. f : %f,f);
 return 0;
 }

 Expected output is
 1. f : 1256.35
 2. f : 1256.35

 But I am getting the output
 (on windows)
 1. f : 1256.35
 2. f : 0.00

 (on Linux)
 1. f : 1256.35
 segmentation fault

 why?


  Forgot the famous last words? Access your message archive online at 
 http://in.messenger.yahoo.com/webmessengerpromo.php

 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/


Cheers,
Dick Johnson
Penguin : Linux version 2.6.22.1 on an i686 machine (5588.29 BogoMips).
My book : http://www.AbominableFirebug.com/
_



The information transmitted in this message is confidential and may be 
privileged.  Any review, retransmission, dissemination, or other use of this 
information by persons or entities other than the intended recipient is 
prohibited.  If you are not the intended recipient, please notify Analogic 
Corporation immediately - by replying to this message or by sending an email to 
[EMAIL PROTECTED] - and destroy all copies of this information, including any 
attachments, without reading or disclosing them.

Thank you.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread Jan Engelhardt

On Sep 27 2007 16:53, linux-os (Dick Johnson) wrote:

If Windows lets you get away with this, then Windows is broken.
memset(ch,'\0',strlen(ch) );

No, probably just the chance that the memory to which ch points
had a nul in it or in the near bytes.

Use valgrind, move along.

On Thu, 27 Sep 2007, mahamuni ashish wrote:

 I have small code

 #include stdio.h
 #include string.h

 int main()
 {
 float f= 1256.35;
 char ch[4];

 printf(\n1. f : %f,f);
 memset(ch,'\0',strlen(ch) );
 printf(\n2. f : %f,f);
 return 0;
 }

 Expected output is
 1. f : 1256.35
 2. f : 1256.35

 But I am getting the output
 (on windows)
 1. f : 1256.35
 2. f : 0.00

 (on Linux)
 1. f : 1256.35
 segmentation fault

 why?


  Forgot the famous last words? Access your message archive online at 
 http://in.messenger.yahoo.com/webmessengerpromo.php

 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/


Cheers,
Dick Johnson
Penguin : Linux version 2.6.22.1 on an i686 machine (5588.29 BogoMips).
My book : http://www.AbominableFirebug.com/
_



The information transmitted in this message is confidential and may be 
privileged.  Any review, retransmission, dissemination, or other use of this 
information by persons or entities other than the intended recipient is 
prohibited.  If you are not the intended recipient, please notify Analogic 
Corporation immediately - by replying to this message or by sending an email 
to [EMAIL PROTECTED] - and destroy all copies of this information, including 
any attachments, without reading or disclosing them.

Thank you.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Floating Point Issue

2007-09-27 Thread WANG Cong
On Thu, Sep 27, 2007 at 05:17:44PM +0200, Jan Engelhardt wrote:

On Sep 27 2007 12:41, mahamuni ashish wrote:
I have small code

This is not a kernel problem. (Read your C book and/or ask in
a C newsgroup.)

Please goto comp.lang.c for help. ;)

-- 
Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/