[GCC-XML] Argument list too long

Pascal J. Bourguignon pjb at informatimago.com
Fri Mar 19 05:45:18 EDT 2010


On 2010/03/17, at 12:27 , Vishal Bayskar wrote:

> Hi All,
>
> I am trying to run gccxml.
>
> I have used the example(example1.cxx) provide on below site only
>
> http://www.gccxml.org/HTML/Running.html
>
> I have run it as describe on the site
>  gccxml example1.cxx -fxml=example1.xml
>
> but every time it is giving an error
> =======
> Error: Could not run /usr/local/bin/gccxml:
> Argument list too long
> =======
>

This is a limit of the host operating system.  In general, there's a  
limit on the number of arguments and on the total size of the  
arguments that can be passed to a process.

Since you invoked gccxml with a small number of argument, and as  
indicated by the output of --debug, it seems that it's gccxml which  
builds that big argument list for gcc-xml.

For a one-time job, you could reduce the argument list for example by  
putting all the defines in a C header to be included in example1.cxx.

To correct the problem, the easy way is to switch to an operating  
system that supports bigger argument lists (in some systems, this can  
even be configured in the kernel, either at compilation time or  
dynamically).

The definitive way to correct the problem would be to patch gcc (and  
gcc-xml), adding an option to take additionnal arguments from a file  
(or pipe), and to modify gccxml to pass the arguments thru a file (or  
pipe).



> output of --debug is as follow
> ------------------------------
>
> $ gccxml example1.cxx -fxml=example1.xml --debug
> Using "/usr/local/bin/gccxml" as GCC-XML executable.
> Using the following arguments to GCC-XML executable:
>   "-quiet"
>   "-fsyntax-only"
>   "-w"
>   "-o"
>   "/dev/null"
>   "-nostdinc"
>   "-undef"
>   "-D__GCCXML__=900"
>   "-D__GCCXML_GNUC__=4"
>   "-D__GCCXML_GNUC_MINOR__=2"
>   "-D__GCCXML_GNUC_PATCHLEVEL__=1"
>   "example1.cxx"
>   "-fxml=example1.xml"
>   "-D__DBL_MIN_EXP__=(-1021)"
>   "-D__FLT_MIN__=1.17549435e-38F"
>   "-D__CHAR_BIT__=8"
>   "-D__WCHAR_MAX__=2147483647"
>   "-D__DBL_DENORM_MIN__=4.9406564584124654e-324"
>   "-D__FLT_EVAL_METHOD__=0"
>   "-D__DBL_MIN_10_EXP__=(-307)"
>   "-D__FINITE_MATH_ONLY__=0"
>   "-D__LP64__=1"
>   "-D__SHRT_MAX__=32767"
>   "-D__LDBL_MAX__=1.18973149535723176502e+4932L"
>   "-D__UINTMAX_TYPE__=long unsigned int"
>   "-D__linux=1"
>   "-D__unix=1"
>   "-D__linux__=1"
>   "-D__SCHAR_MAX__=127"
>   "-D__USER_LABEL_PREFIX__="
>   "-D__STDC_HOSTED__=1"
>   "-D__DBL_DIG__=15"
>   "-D__FLT_EPSILON__=1.19209290e-7F"
>   "-D__GXX_WEAK__=1"
>   "-D__LDBL_MIN__=3.36210314311209350626e-4932L"
>   "-D__unix__=1"
>   "-D__DECIMAL_DIG__=21"
>   "-D__gnu_linux__=1"
>   "-D__LDBL_HAS_QUIET_NAN__=1"
>   "-D__GNUC__=4"
>   "-D__MMX__=1"
>   "-D__DBL_MAX__=1.7976931348623157e+308"
>   "-D__DBL_HAS_INFINITY__=1"
>   "-D__cplusplus=1"
>   "-D__DEPRECATED=1"
>   "-D__DBL_MAX_EXP__=1024"
>   "-D__SSE2_MATH__=1"
>   "-D__amd64=1"
>   "-D__GNUG__=4"
>   "-D__LONG_LONG_MAX__=9223372036854775807LL"
>   "-D__GXX_ABI_VERSION=1002"
>   "-D__FLT_MIN_EXP__=(-125)"
>   "-D__x86_64=1"
>   "-D__DBL_MIN__=2.2250738585072014e-308"
>   "-D__FLT_MIN_10_EXP__=(-37)"
>   "-D__DBL_HAS_QUIET_NAN__=1"
>   "-D__REGISTER_PREFIX__="
>   "-D__NO_INLINE__=1"
>   "-D__FLT_MANT_DIG__=24"
>   "-D__VERSION__="4.1.2 20080704 (Red Hat 4.1.2-44)""
>   "-Dunix=1"
>   "-D__SIZE_TYPE__=long unsigned int"
>   "-D__ELF__=1"
>   "-D__FLT_RADIX__=2"
>   "-D__LDBL_EPSILON__=1.08420217248550443401e-19L"
>   "-D__GNUC_RH_RELEASE__=44"
>   "-D__k8=1"
>   "-D__LDBL_DIG__=18"
>   "-D__x86_64__=1"
>   "-D__FLT_HAS_QUIET_NAN__=1"
>   "-D__FLT_MAX_10_EXP__=38"
>   "-D__LONG_MAX__=9223372036854775807L"
>   "-D__FLT_HAS_INFINITY__=1"
>   "-Dlinux=1"
>   "-D__EXCEPTIONS=1"
>   "-D__LDBL_MANT_DIG__=64"
>   "-D__k8__=1"
>   "-D__WCHAR_TYPE__=int"
>   "-D__FLT_DIG__=6"
>   "-D__INT_MAX__=2147483647"
>   "-D__FLT_MAX_EXP__=128"
>   "-D__DBL_MANT_DIG__=53"
>   "-D__WINT_TYPE__=unsigned int"
>   "-D__SSE__=1"
>   "-D__LDBL_MIN_EXP__=(-16381)"
>   "-D__amd64__=1"
>   "-D__LDBL_MAX_EXP__=16384"
>   "-D__LDBL_MAX_10_EXP__=4932"
>   "-D__DBL_EPSILON__=2.2204460492503131e-16"
>   "-D_LP64=1"
>   "-D__GNUC_PATCHLEVEL__=2"
>   "-D__LDBL_HAS_INFINITY__=1"
>   "-D__INTMAX_MAX__=9223372036854775807L"
>   "-D__FLT_DENORM_MIN__=1.40129846e-45F"
>   "-D__FLT_MAX__=3.40282347e+38F"
>   "-D__SSE2__=1"
>   "-D__INTMAX_TYPE__=long int"
>   "-D__GNUC_MINOR__=1"
>   "-D__DBL_MAX_10_EXP__=308"
>   "-D__LDBL_DENORM_MIN__=3.64519953188247460253e-4951L"
>   "-D__STDC__=1"
>   "-D__PTRDIFF_TYPE__=long int"
>   "-D__LDBL_MIN_10_EXP__=(-4931)"
>   "-D__SSE_MATH__=1"
>   "-D__GNUC_GNU_INLINE__=1"
>   "-D_GNU_SOURCE=1"
>   "-iwrapper/usr/local/share/gccxml-0.9/GCC/4.1"
>   "-isystem/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../ 
> include/c++/4.1.2"
>   "-isystem/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../ 
> include/c++/4.1.2/x86_64-redhat-linux"
>   "-isystem/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../ 
> include/c++/4.1.2/backward"
>   "-isystem/usr/local/include"
>   "-isystem/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include"
>   "-isystem/usr/include"
>   "-include"
>   "gccxml_builtins.h"
> Error: Could not run /usr/local/bin/gccxml:
> Argument list too long
>
>

-- 
__Pascal Bourguignon__
http://www.informatimago.com






More information about the gccxml mailing list