Dave Korn wrote:

What's odd is that this bug in argz_insert() is very ticklish: it
triggers on "tests/mdemo/Makefile", but not when argz_insert is called
with "./tests/mdemo/Makefile".

  Isn't that just exactly what you would expect, given that you're talking
about sorting things in ascii order?  The period collates very early in ascii
sort order, whereas a lower-case t comes much later; hence if you specify the
'.' you get the makefile at the start of the list instead of the end.

Ah, but in the ./ case, the sequence is:

"./tests/mdemo/config", NULL
"./tests/mdemo/foo1", NULL
"./tests/mdemo/foo2", NULL
"./tests/mdemo/libfoo2", NULL
"./tests/mdemo/libmlib", NULL
"./tests/mdemo/libsub", NULL
"./tests/mdemo/libtool", NULL
"./tests/mdemo/main", NULL
"./tests/mdemo/Makefile", == *pargz

So again, the sort order is exactly the same: everything gets argz_append()ed, until entry=="<stuff>/Makefile" comes along, which needs to be argz_insert()ed.

I need to verify this using a debug-built cygwin kernel, but it looks
like within newlib's argz_insert(), the call to realloc() is not
operating correctly in this instance.

  Sounds like it should be quite easy to PPAST then.

Not really. I remembered the business with the detached .dbg info, so I'm trying to use that (without success -- more in a separate thread).

--
Chuck


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to