There's this "Argument list too long" nonsense. It makes me work in a ~/X directory, because that way my pathnames shorten to an extent enough to execute the build commands of a brain-crippled Makefile.

This ~/X business made me worry, since in the near future I might run out of characters again. So I googled for "Argument list too long", and the second result was this:

 From http://lists.gnu.org/archive/html/bug-fileutils/2001-10/msg00048.html:

 "It is an architecture limitation of UNIX-like operating systems.
  However, it is one that is easily worked around using the supplied utilities."

Then it mentioned xargs. Too bad you can't split a gcc command line to many smaller ones. Too bad you can't force processes that spawn processes to use xargs. Supplied utilities up my arse.

I have an excellent idea for a start-up company, "Arguments, Inc.". The core technology is:

* Implement a custom loader on top of exec() & mmap(). The loader works just like exec(), except for allocating a buffer for the arguments properly. * Write a program unfuck_args that runs the given command line using this loader and ptraces it. * Whenever ptrace spots an exec() syscall, it implements it using the stupid loader, and has the process ptraced, so that arguments are unfucked throughout the process subtree.

However, before I start raising funds, I would be very curious to find out about a different, not entirely idiotic workaround.

Reply via email to