CLI/CGI SAPI module variable name conflict
| Bug #27104 | CLI/CGI SAPI module variable name conflict | ||||
|---|---|---|---|---|---|
| Submitted: | 2004-01-31 08:30 UTC | Modified: | 2004-02-11 16:54 UTC | ||
| From: | alex dot php at epathology dot com dot au | Assigned: | helly (profile) | ||
| Status: | Closed | Package: | CGI/CLI related | ||
| PHP Version: | 4.3.4, 5CVS | OS: | OpenBSD 3.3 | ||
| Private report: | No | CVE-ID: | None | ||
[2004-01-31 08:30 UTC] alex dot php at epathology dot com dot au
Description:
------------
Trying to compile PHP 4.3.4 with the CLI SAPI module on OpenBSD 3.3 gives the warnings listed under 'actual result' related to the optind and optarg variables.
The CLI binary produced then doesn't interpret its command line arguments properly.
Fix:
This seems to be due to the static optarg and optind variables in sapi/cli/php_cli.c conflicting with those of the standard library. The problem went away when I renamed these two variables.
Reproduce code:
---------------
./configure \
--with-config-file-path=/var/www/conf \
--with-apxs \
--with-openssl \
--with-zlib \
--with-iconv \
--with-gettext \
--with-recode \
--with-pgsql \
--without-mysql \
--without-xml \
--enable-inline-optimization \
--enable-shared \
--enable-dio \
--enable-bcmath \
--enable-calendar \
--enable-sockets \
--disable-static
make
sapi/cli/php --help
Expected result:
----------------
Compilation without problems, with help text shown when running 'sapi/cli/php --help'.
Actual result:
--------------
When the CLI is being compiled the following warnings appear, and then 'sapi/cli/php --help' ignores the --help argument.
/bin/sh /home/alex/src/php-4.3.4/libtool --silent --preserve-dup-deps --mode=compile gcc -Isapi/cli/ -I/home/alex/src/php-4.3.4/sapi/cli/ -DPHP_ATOM_INC -I/home/alex/src/php-4.3.4/include -I/home/alex/src/php-4.3.4/main -I/home/alex/src/php-4.3.4 -I/home/alex/src/php-4.3.4/Zend -I/usr/local/include -I/usr/local/pgsql/include -I/home/alex/src/php-4.3.4/ext/xml/expat -I/home/alex/src/php-4.3.4/TSRM -g -O2 -prefer-pic -c /home/alex/src/php-4.3.4/sapi/cli/php_cli.c -o sapi/cli/php_cli.lo
/tmp/ccN17837.s: Assembler messages:
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optind' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optind' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optind' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optind' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optarg' should be global
/tmp/ccN17837.s:3786: Warning: GOT relocation burb: `_optind' should be global
/bin/sh /home/alex/src/php-4.3.4/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -g -O2 -L/usr/local/lib -L/usr/local/pgsql/lib -R /usr/local/lib -R /usr/local/pgsql/lib ext/openssl/openssl.lo ext/zlib/zlib.lo (many .lo files) main/internal_functions_cli.lo -lrecode -lpq -liconv -lintl -lz -lssl -lcrypto -lm -o sapi/cli/php
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1872
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1742
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1735
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1711
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x16bd
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1661
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x164a
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1609
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1420
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1413
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x11c4
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x11bd
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x1100
ld: sapi/cli/php_cli.lo: relocation must refer to global symbol at 0x10f5
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2004-02-01 08:35 UTC] alex dot php at epathology dot com dot au
[2004-02-08 12:00 UTC] sniper@php.net
[2004-02-11 16:54 UTC] helly@php.net