Skip to content

Commit cdd5d7b

Browse files
committed
Use $(LD) instead of $(CC) for linking the object files
Plan 9's loader(aka. linker) is separated from the compiler. The compilers are called 8c, 6c... for each machine architectures; corresponded loaders are called 8l, 6l... Signed-off-by: lufia <lufia@lufia.org>
1 parent d15ed62 commit cdd5d7b

File tree

4 files changed

+18
-9
lines changed

4 files changed

+18
-9
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ jobs:
243243
pool: ubuntu-latest
244244
env:
245245
CC: ${{matrix.vector.cc}}
246+
LD: ${{matrix.vector.cc}}
246247
jobname: ${{matrix.vector.jobname}}
247248
runs-on: ${{matrix.vector.pool}}
248249
steps:

Makefile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,7 @@ export prefix bindir sharedir sysconfdir gitwebdir perllibdir localedir
543543

544544
# Set our default programs
545545
CC = cc
546+
LD = cc
546547
AR = ar
547548
RM = rm -f
548549
DIFF = diff
@@ -2128,7 +2129,7 @@ git.sp git.s git.o: EXTRA_CPPFLAGS = \
21282129
'-DGIT_INFO_PATH="$(infodir_relative_SQ)"'
21292130

21302131
git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
2131-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \
2132+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) \
21322133
$(filter %.o,$^) $(LIBS)
21332134

21342135
help.sp help.s help.o: command-list.h
@@ -2459,25 +2460,25 @@ compat/nedmalloc/nedmalloc.sp: SP_EXTRA_FLAGS += -Wno-non-pointer-null
24592460
endif
24602461

24612462
git-%$X: %.o GIT-LDFLAGS $(GITLIBS)
2462-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
2463+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
24632464

24642465
git-bugreport$X: bugreport.o GIT-LDFLAGS $(GITLIBS)
2465-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2466+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
24662467
$(LIBS)
24672468

24682469
git-imap-send$X: imap-send.o $(IMAP_SEND_BUILDDEPS) GIT-LDFLAGS $(GITLIBS)
2469-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2470+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
24702471
$(IMAP_SEND_LDFLAGS) $(LIBS)
24712472

24722473
git-http-fetch$X: http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS)
2473-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2474+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
24742475
$(CURL_LIBCURL) $(LIBS)
24752476
git-http-push$X: http.o http-push.o GIT-LDFLAGS $(GITLIBS)
2476-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2477+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
24772478
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
24782479

24792480
git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
2480-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
2481+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
24812482
$(VCSSVN_LIB)
24822483

24832484
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
@@ -2487,7 +2488,7 @@ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
24872488
cp $< $@
24882489

24892490
$(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS)
2490-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
2491+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
24912492
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
24922493

24932494
$(LIB_FILE): $(LIB_OBJS)
@@ -2782,7 +2783,7 @@ t/helper/test-svn-fe$X: $(VCSSVN_LIB)
27822783
t/helper/test-tool$X: $(patsubst %,t/helper/%,$(TEST_BUILTINS_OBJS))
27832784

27842785
t/helper/test-%$X: t/helper/test-%.o GIT-LDFLAGS $(GITLIBS)
2785-
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS)
2786+
$(QUIET_LINK)$(LD) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS)
27862787

27872788
check-sha1:: t/helper/test-tool$X
27882789
t/helper/test-sha1.sh

config.mak.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# @configure_input@
33

44
CC = @CC@
5+
LD = @CC@
56
CFLAGS = @CFLAGS@
67
CPPFLAGS = @CPPFLAGS@
78
LDFLAGS = @LDFLAGS@

config.mak.uname

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ ifeq ($(uname_S),GNU/kFreeBSD)
6969
endif
7070
ifeq ($(uname_S),UnixWare)
7171
CC = cc
72+
LD = $(CC)
7273
NEEDS_SOCKET = YesPlease
7374
NEEDS_NSL = YesPlease
7475
NEEDS_SSL_WITH_CRYPTO = YesPlease
@@ -90,6 +91,7 @@ ifeq ($(uname_S),SCO_SV)
9091
endif
9192
ifeq ($(uname_R),5)
9293
CC = cc
94+
LD = $(CC)
9395
BASIC_CFLAGS += -Kthread
9496
endif
9597
NEEDS_SOCKET = YesPlease
@@ -435,6 +437,7 @@ ifeq ($(uname_S),Windows)
435437
DEFAULT_HELP_FORMAT = html
436438

437439
CC = compat/vcbuild/scripts/clink.pl
440+
LD = $(CC)
438441
AR = compat/vcbuild/scripts/lib.pl
439442
CFLAGS =
440443
BASIC_CFLAGS = -nologo -I. -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
@@ -525,6 +528,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
525528
ifeq ($(uname_R).$(uname_V),L17.02)
526529
CC += -WRVU=L16.05
527530
endif
531+
LD = $(CC)
528532
# Disable all optimization, seems to result in bad code, with -O or -O2
529533
# or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects
530534
# abends on "git push". Needs more investigation.
@@ -665,8 +669,10 @@ else
665669
BASIC_LDFLAGS += -Wl,--large-address-aware
666670
endif
667671
CC = gcc
672+
LD = $(CC)
668673
COMPAT_CFLAGS += -D__USE_MINGW_ANSI_STDIO=0 -DDETECT_MSYS_TTY \
669674
-fstack-protector-strong
675+
BASIC_LDFLAGS += -fstack-protector-strong
670676
EXTLIBS += -lntdll
671677
INSTALL = /bin/install
672678
NO_R_TO_GCC_LINKER = YesPlease

0 commit comments

Comments
 (0)