[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: regress/sys/kern/execve/Makefile
UCHIYAMA Yasushi <uch@nop.or.jp> writes:
> 今のレポジトリに入っている、このパッチって必要ないですよね?
> Index: regress/sys/kern/execve/Makefile
> ===================================================================
> RCS file: /cvsroot/hpcmips/regress/sys/kern/execve/Makefile,v
> retrieving revision 1.3
> diff -u -r1.3 Makefile
> --- Makefile 1999/08/25 12:10:55 1.3
> +++ Makefile 1999/08/31 12:03:40
> @@ -7,7 +7,7 @@
>
> .include <bsd.own.mk> # May define DESTDIR in mk.conf..
> .if defined(DESTDIR)
> -LDLIBS+= -lgcc -lc -lgcc ${LIBCRTEND}
> +LDLIBS+= -lgcc -lc ${LIBCRTEND}
一般的にはlibgccとlibcは相互に依存しているようなので、リンク時には"-lgcc
-lc -lgcc"が必要だと思います。(添付の cc -v の出力を参照。)
soft-float関係のライブラリをlibgccに入れていたときにはこうしないとリンク
できなかったのでMakefileを修正してあります。現在のライブラリの構成だと-
gcc -lcでもシンボルは解決できるとは思いますが。
何を言いたいかというと、
1. -lgcc -lc -lgcc は一般的には必要である(と思う)
2. regress/sys/kern/execveは偶然 -lgcc -lc でも問題のないライブラリ
しか使っていないのではないか
3. 1.,2.が正しければ元に戻す必然性はないのではないか(一般的に正しい
記述方法にしたのだから)
ということです。
[cc -v hello.cの出力]
Using builtin specs.
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
/usr/libexec/cpp -lang-c -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=91 -Di386 -D__NetBSD__ -D__KPRINTF_ATTRIBUTE__ -D__i386__ -D__NetBSD__ -D__KPRINTF_ATTRIBUTE__ -D__i386 -Asystem(unix) -Asystem(NetBSD) -Acpu(i386) -Amachine(i386) hello.c /tmp/cc6THxrf.i
GNU CPP version egcs-2.91.60 19981201 (egcs-1.1.1 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
/usr/include
End of search list.
/usr/libexec/cc1 /tmp/cc6THxrf.i -quiet -dumpbase hello.c -version -o /tmp/ccQnCfAm.s
GNU C version egcs-2.91.60 19981201 (egcs-1.1.1 release) (i386-netbsd) compiled by GNU C version egcs-2.91.60 19981201 (egcs-1.1.1 release).
as -o /tmp/ccsv3uJu.o /tmp/ccQnCfAm.s
/usr/libexec/collect2 -e start -dc -dp /usr/lib/crt0.o -L/usr/libexec /tmp/ccsv3uJu.o -lgcc -lc -lgcc
篠原