This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: undefined reference to `strlwr' on 64bit Cygwin
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Sun, 17 Mar 2013 10:51:41 +0100
- Subject: Re: undefined reference to `strlwr' on 64bit Cygwin
- References: <514525AB.9000708@cornell.edu>
- Reply-to: cygwin-developers at cygwin dot com
On Mar 16 22:08, Ken Brown wrote:
> $ uname -a
> CYGWIN_NT-6.1 fiona 1.7.18(0.263/5/3) 2013-03-15 16:35 x86_64 Cygwin
>
> $ gcc --version
> gcc (GCC) 4.8.0 20130307 (experimental)
>
> $ cat strlwr_test.c
> #include <string.h>
> #include <stdio.h>
>
> int
> main ()
> {
> char str[] = "FRED";
> printf ("%s\n", strlwr (str));
> }
>
> $ gcc strlwr_test.c
> /tmp/ccW2SOn8.o:strlwr_test.c:(.text+0x20): undefined reference to `strlwr'
> /tmp/ccW2SOn8.o:strlwr_test.c:(.text+0x20): relocation truncated to
> fit: R_X86_64_PC32 against undefined symbol `strlwr'
> /usr/lib/gcc/x86_64-pc-cygwin/4.8.0/../../../../x86_64-pc-cygwin/bin/ld:
> /tmp/ccW2SOn8.o: bad reloc address 0x0 in section `.pdata'
> /usr/lib/gcc/x86_64-pc-cygwin/4.8.0/../../../../x86_64-pc-cygwin/bin/ld:
> final link failed: Invalid operation
> collect2: error: ld returned 1 exit status
Thanks for the hint, I added it back to cygwin64.din.
However, do you really use this function? It's broken by design. In
theory it's one of those functions which should never have been exported
since it only works on single-byte charsets and glibc rightfully doesn't
provide it at all. If you use it with UTF-8 non-ASCII chars, the result
is random nonsense.
> Ken
>
> P.S. Is this still the appropriate list for 64bit bug reports, or is
> it time to move to the main cygwin list?
No, that's fine. Let's stick to the developers list (or cygwin-apps for
stuff which rather affects setup and packaging) until we do our first
official release.
Thanks,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat