This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: external vms_convert_to_var_unix_filename (just because it is static) and globalref
- From: Tristan Gingold <gingold at adacore dot com>
- To: Jay K <jay dot krell at cornell dot edu>
- Cc: binutils <binutils at sourceware dot org>
- Date: Mon, 10 May 2010 09:36:45 +0200
- Subject: Re: external vms_convert_to_var_unix_filename (just because it is static) and globalref
- References: <COL101-W63E2F8A1B425CEF74A62A8E6F70@phx.gbl>
Oops, look like I forgot to correctly export vms_convert_to_var_unix_filename!
Tristan.
On May 8, 2010, at 5:44 AM, Jay K wrote:
>
> /bin/sh ./libtool --tag=CC --mode=link alpha-dec-vms-gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -o size size.obj bucomm.obj version.obj filemode.obj ../bfd/libbfd.la ../libiberty/libiberty.a
> libtool: link: alpha-dec-vms-gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -o size size.obj bucomm.obj version.obj filemode.obj ../bfd/.libs/libbfd.a ../libiberty/libiberty.a
> ../bfd/.libs/libbfd.a(vms-alpha):($DATA$+0xdee8): undefined reference to `vms_convert_to_var_unix_filename'
> collect2: ld returned 1 exit status
> make[4]: *** [size] Error 1
> make[3]: *** [all-recursive] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-binutils] Error 2
> make: *** [all] Error 2
>
>
> and workaround presence of "globalref" in VMS system headers.
>
>
> The use of vms_convert_to_var_unix_filename is in vms-alpha.c.
> I don't know if this works, just that compile/link gets further.
>
>
> jbook2:bfd jay$ cvs -z3 diff -u vms-misc.c
> Index: vms-misc.c
> ===================================================================
> RCS file: /cvs/src/src/bfd/vms-misc.c,v
> retrieving revision 1.33
> diff -u -r1.33 vms-misc.c
> --- vms-misc.c 14 Apr 2010 09:24:59 -0000 1.33
> +++ vms-misc.c 8 May 2010 01:11:33 -0000
> @@ -22,6 +22,10 @@
> Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
> MA 02110-1301, USA. */
>
> +#if defined(__vms) && defined(__GNUC__) && !defined(globalref)
> +#define globalref extern
> +#endif
> +
> #if __STDC__
> #include <stdarg.h>
> #endif
> @@ -431,7 +435,7 @@
> using undocumented system call sys$modify().
> Unix filename version. */
>
> -static int
> +int
> vms_convert_to_var_unix_filename (const char *unix_filename)
> {
> if (decc$to_vms (unix_filename, &vms_convert_to_var_1, 0, 1) != 1)
>
>
>
> - Jay
>
>
>
>