Move c-decl.c out of the common libcc_int.a into the binary Makefiles

where it is used.  c-decl has symbols that conflict with several of the
cc1plus sources.

GNU `ld' was changed in Dec 1999 to be more be compatable with the way that
other linkers work (specifically in the Solaris linker).  The 2.9.1 `ld',
did the Wrong Thing in that if a library contained a common symbol that
matched a definition of that symbol in another (already linked in object)
it would also be linked in, even if there was no other reason to do so.
This is wrong.  The library should only be linked in if it contains
non-common, non-weak symbols which are needed by previously linked in
objects.
This commit is contained in:
obrien 2000-05-24 20:02:21 +00:00
parent d9cbc39cd2
commit c29c176131
3 changed files with 4 additions and 3 deletions

View File

@ -6,7 +6,8 @@
PROG= cc1 PROG= cc1
SRCS= c-parse.c c-parse.h c-lang.c SRCS= c-parse.c c-parse.h c-lang.c
SRCS+= c-lex.c # Ugh, compiled twice...
SRCS+= c-decl.c c-lex.c
BINDIR= /usr/libexec BINDIR= /usr/libexec
NOMAN= 1 NOMAN= 1
NOSHARED=yes NOSHARED=yes

View File

@ -7,7 +7,7 @@
PROG= cc1obj PROG= cc1obj
SRCS= objc-parse.c objc-parse.h objc-parse.h objc-act.c SRCS= objc-parse.c objc-parse.h objc-parse.h objc-act.c
# Ugh, compiled twice... # Ugh, compiled twice...
SRCS+= c-lex.c SRCS+= c-decl.c c-lex.c
BINDIR= /usr/libexec BINDIR= /usr/libexec
NOMAN= 1 NOMAN= 1
NOSHARED=yes NOSHARED=yes

View File

@ -8,7 +8,7 @@ LIB= cc_int
NOPROFILE= YES NOPROFILE= YES
NOPIC= YES NOPIC= YES
SRCS= c-aux-info.c c-common.c c-convert.c c-decl.c c-iterate.c \ SRCS= c-aux-info.c c-common.c c-convert.c c-iterate.c \
c-pragma.c c-typeck.c \ c-pragma.c c-typeck.c \
caller-save.c calls.c combine.c convert.c cse.c \ caller-save.c calls.c combine.c convert.c cse.c \
dbxout.c dwarfout.c emit-rtl.c explow.c expmed.c expr.c \ dbxout.c dwarfout.c emit-rtl.c explow.c expmed.c expr.c \