Bug 25731 - strcpy breaks with -O2 -fno-inline
Summary: strcpy breaks with -O2 -fno-inline
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc
Version: 7.1
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Aaron Brown
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-02-02 16:43 UTC by Stefan Sorensen
Modified: 2016-11-24 14:53 UTC (History)
1 user (show)

(edit)
Clone Of:
(edit)
Last Closed: 2001-02-02 16:43:54 UTC


Attachments (Terms of Use)

Description Stefan Sorensen 2001-02-02 16:43:51 UTC
$ cat foo.c
#include <string.h>
int main(void)
{
    char foo[4];
    strcpy(foo, "foo");
    return 0;
}

$ gcc -O2 -fno-inline foo.c
/tmp/ccLwrlUH.o: In function `main':
/tmp/ccLwrlUH.o(.text+0x5c): undefined reference to `__strcpy_small'
collect2: ld returned 1 exit status

$ rpm -q glibc gcc
glibc-2.2.1-3
gcc-2.96-71

Comment 1 Jakub Jelinek 2001-02-02 16:53:50 UTC
Pass -O2 -fno-inline -D__NO_STRING_INLINES then. Really, there is nothing
glibc can do about this (apart from exporting all those inlines as static
functions but that makes no sense) and gcc does not pass any macros
which would tell whether -finline or -fno-inline was passed, so it has to use
__OPTIMIZE__ (and has done that for ages).


Note You need to log in before you can comment on or make changes to this bug.