Bug#747764: make 4.0-5 bug

2014-05-13 Thread Manoj Srivastava
On Tue, May 13 2014, Юрий Матронов wrote:

> After analyzing the source code make 4.0 figured out that the problem
> in the function find_char_unquote (read.c).

> I replaced the
> # define STOP_SET (_v, _m) ANY_SET (stopchar_map [(unsigned char) (_v)], (_m))
> Thereafter, all the works.

Thanks for the analysis. This appears to be indeed a real bug,
 and I should have looked beyond the space/tab issue.

I have found that the same bug was independently reported and
 fixed upstream, and I will cherry pick that patch. Thanks for youer
 help on this report.

manoj
-- 
Genuine happiness is when a wife sees a double chin on her husband's old
girl friend.
Manoj Srivastava    
4096R/C5779A1C E37E 5EC5 2A01 DA25 AD20  05B6 CF48 9438 C577 9A1C


signature.asc
Description: PGP signature


Bug#747764: make 4.0-5 bug

2014-05-13 Thread Юрий Матронов
 Hi
After analyzing the source code make 4.0 figured out that the problem in the 
function find_char_unquote (read.c).
static char *
find_char_unquote (char * string, int map)
{
  unsigned int string_len = 0 ;
  char * p = string;
  / * Always stop on NUL. * /
  map | = MAP_NUL;
  while ( 1)
{
  while (! STOP_SET (* p, map))
+ + p;
  if (* p == '\ 0' )
break;

...
The problem in the macro STOP_SET (makeint.h)
# define STOP_SET (_v, _m) ANY_SET (stopchar_map [(int) (_v)], (_m))
Conversion to int is not correct.
Characters with codes greater than 0x7f ( in particular in Cyrillic UTF- 8 ) 
into a large negative number.
Therefore appeal to non-existent memory, because stopchar_map equal size 
(UCHAR_MAX +1) (main.c)
I replaced the
# define STOP_SET (_v, _m) ANY_SET (stopchar_map [(unsigned char) (_v)], (_m))
Thereafter, all the works.



Bug#747764: make 4.0-5 bug

2014-05-11 Thread Юрий Матронов

Hi

I still do not work . When tested in Makefile using TAB . Attach a new example 
. Files with error report : error.report.ru and error.report.en .


test.tar.gz
Description: GNU Zip compressed data


Bug#747764: make 4.0-5 bug

2014-05-11 Thread Manoj Srivastava
tags 747764 + unreproducible
tags 747764 + moreinfo
thanks

Hi,

Works for me here. What I did see in the attached shell script
 was that your recipe commands do not start with a TAB. What was the
 error that you got?

--8<---cut here---start->8---
__> cat Makefile
A: B БА
echo test
touch A
__> touch B
__> make
echo test
test
touch A
--8<---cut here---end--->8---

manoj
-- 
Bondage maybe, discipline never! T.K.
Manoj Srivastava    
4096R/C5779A1C E37E 5EC5 2A01 DA25 AD20  05B6 CF48 9438 C577 9A1C


signature.asc
Description: PGP signature


Bug#747764: make 4.0-5 bug

2014-05-11 Thread Юрий Матронов

Package: make
Version: 4.0-5

If the file name contains a capital cyrillic letter A (possibly some others), 
an error occurs. To make 3.81 that did not happen. Attached is a minimal 
example.
===
#!/bin/sh
echo 'A: B БА' > Makefile
echo ' echo test' >> Makefile
echo ' touch A' >> Makefile
touch B
touch БА
make ===

test.sh
Description: Bourne shell script