From 4f3b6a5b3c63ee34d65f202730ff2ce68627b2e5 Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Wed, 16 Feb 2011 15:58:41 -0600 Subject: [PATCH] Fix PIC CFLAGS Commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 just used -fPIC to generate position-independant code. However, the flag to turn on PIC varies depending on the compiler, and is not always -fPIC. Just use SHD_CCRULE instead, which will get us the correct PIC flags. Change-Id: I61d698587cc3959b35ec27abe3c3b19adab5d8f1 Reviewed-on: http://gerrit.openafs.org/3962 Reviewed-by: Simon Wilkinson Tested-by: BuildBot Reviewed-by: Derrick Brashear --- src/cmd/Makefile.in | 10 ++--- src/libuafs/Makefile.common.in | 2 +- src/util/Makefile.in | 79 +++++++++++----------------------- 3 files changed, 30 insertions(+), 61 deletions(-) diff --git a/src/cmd/Makefile.in b/src/cmd/Makefile.in index 594e3675f..623576869 100644 --- a/src/cmd/Makefile.in +++ b/src/cmd/Makefile.in @@ -54,13 +54,11 @@ cmd64.o: cmd.c cmd.h ${CC} $(COMMON_CFLAGS) $(CPPFLAGS) ${XCFLAGS64} \ -c -o cmd64.o ${srcdir}/cmd.c -CFLAGS_cmd_errors_pic.o = -fPIC cmd_errors_pic.o: cmd_errors.c - $(AFS_CCRULE) cmd_errors.c + $(SHD_CCRULE) cmd_errors.c -CFLAGS_cmd_pic.o = -fPIC cmd_pic.o: cmd.c cmd.h - $(AFS_CCRULE) cmd.c + $(SHD_CCRULE) cmd.c libcmd64.a: ${LIB64OBJS} AFS_component_version_number64.o -$(RM) -f $@ @@ -83,9 +81,7 @@ AFS_component_version_number64.o: AFS_component_version_number.c AFS_component_version_number.c AFS_component_version_number_pic.o: AFS_component_version_number.c - ${CC} $(COMMON_CFLAGS) $(CPPFLAGS) -fPIC \ - -c -o AFS_component_version_number_pic.o \ - AFS_component_version_number.c + $(SHD_CCRULE) AFS_component_version_number.c # # Install targets diff --git a/src/libuafs/Makefile.common.in b/src/libuafs/Makefile.common.in index 0ee875fad..7b5c082ab 100644 --- a/src/libuafs/Makefile.common.in +++ b/src/libuafs/Makefile.common.in @@ -95,7 +95,7 @@ linktest: UAFS/$(LIBUAFS) CRULE1= $(CC) $(COMMON_INCLUDE) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $? CRULE2= $(CC) $(COMMON_INCLUDE) $(OPTF) $(WEBOPTS) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $? -CRULEPIC=$(CC) $(COMMON_INCLUDE) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -fPIC -c $? +CRULEPIC=$(CC) $(COMMON_INCLUDE) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) $(SHLIB_CFLAGS) -c $? UAFSOBJ = \ $(UOBJ)/afs_atomlist.o \ diff --git a/src/util/Makefile.in b/src/util/Makefile.in index 3a620ce8f..fc2f6cfbc 100644 --- a/src/util/Makefile.in +++ b/src/util/Makefile.in @@ -198,9 +198,8 @@ pthread_glock.o: ${srcdir}/pthread_glock.c ${includes} ${objects}: ${includes} -CFLAGS_AFS_component_version_number_pic.o = -fPIC AFS_component_version_number_pic.o: AFS_component_version_number.c - $(AFS_CCRULE) AFS_component_version_number.c + $(SHD_CCRULE) AFS_component_version_number.c config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h $(AFS_CCRULE) -c ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c @@ -211,106 +210,80 @@ sys: sys.o $(AFS_LDRULE) sys.o # PIC objects build rules -PICFLAGS = -fPIC -CFLAGS_assert.o = $(PICFLAGS) pic_assert.o: ${srcdir}/assert.c ${includes} - $(AFS_CCRULE) ${srcdir}/assert.c + $(SHD_CCRULE) ${srcdir}/assert.c -CFLAGS_base64.o = $(PICFLAGS) pic_base64.o: ${srcdir}/base64.c ${includes} - $(AFS_CCRULE) ${srcdir}/base64.c + $(SHD_CCRULE) ${srcdir}/base64.c -CFLAGS_casestrcpy.o = $(PICFLAGS) pic_casestrcpy.o: ${srcdir}/casestrcpy.c ${includes} - $(AFS_CCRULE) ${srcdir}/casestrcpy.c + $(SHD_CCRULE) ${srcdir}/casestrcpy.c -CFLAGS_config_file.o = $(PICFLAGS) pic_config_file.o: ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c krb5_locl.h - $(AFS_CCRULE) ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c + $(SHD_CCRULE) ${TOP_SRCDIR}/external/heimdal/krb5/config_file.c -CFLAGS_ktime.o = $(PICFLAGS) pic_ktime.o: ${srcdir}/ktime.c ${includes} - $(AFS_CCRULE) ${srcdir}/ktime.c + $(SHD_CCRULE) ${srcdir}/ktime.c -CFLAGS_volparse.o = $(PICFLAGS) pic_volparse.o: ${srcdir}/volparse.c ${includes} - $(AFS_CCRULE) ${srcdir}/volparse.c + $(SHD_CCRULE) ${srcdir}/volparse.c -CFLAGS_hostparse.o = $(PICFLAGS) pic_hostparse.o: ${srcdir}/hostparse.c ${includes} - $(AFS_CCRULE) ${srcdir}/hostparse.c + $(SHD_CCRULE) ${srcdir}/hostparse.c -CFLAGS_exec.o = $(PICFLAGS) pic_exec.o: ${srcdir}/exec.c ${includes} - $(AFS_CCRULE) ${srcdir}/exec.c + $(SHD_CCRULE) ${srcdir}/exec.c -CFLAGS_hputil.o = $(PICFLAGS) pic_hputil.o: ${srcdir}/hputil.c ${includes} - $(AFS_CCRULE) ${srcdir}/hputil.c + $(SHD_CCRULE) ${srcdir}/hputil.c -CFLAGS_kreltime.o = $(PICFLAGS) pic_kreltime.o: ${srcdir}/kreltime.c ${includes} - $(AFS_CCRULE) ${srcdir}/kreltime.c + $(SHD_CCRULE) ${srcdir}/kreltime.c -CFLAGS_isathing.o = $(PICFLAGS) pic_isathing.o: ${srcdir}/isathing.c ${includes} - $(AFS_CCRULE) ${srcdir}/isathing.c + $(SHD_CCRULE) ${srcdir}/isathing.c -CFLAGS_get_krbrlm.o = $(PICFLAGS) pic_get_krbrlm.o: ${srcdir}/get_krbrlm.c ${includes} - $(AFS_CCRULE) ${srcdir}/get_krbrlm.c + $(SHD_CCRULE) ${srcdir}/get_krbrlm.c -CFLAGS_uuid.o = $(PICFLAGS) pic_uuid.o: ${srcdir}/uuid.c ${includes} - $(AFS_CCRULE) ${srcdir}/uuid.c + $(SHD_CCRULE) ${srcdir}/uuid.c -CFLAGS_serverLog.o = $(PICFLAGS) pic_serverLog.o: ${srcdir}/serverLog.c ${includes} - $(AFS_CCRULE) ${srcdir}/serverLog.c + $(SHD_CCRULE) ${srcdir}/serverLog.c -CFLAGS_dirpath.o = $(PICFLAGS) pic_dirpath.o: ${srcdir}/dirpath.c ${includes} - $(AFS_CCRULE) ${srcdir}/dirpath.c + $(SHD_CCRULE) ${srcdir}/dirpath.c -CFLAGS_fileutil.o = $(PICFLAGS) pic_fileutil.o: ${srcdir}/fileutil.c ${includes} - $(AFS_CCRULE) ${srcdir}/fileutil.c + $(SHD_CCRULE) ${srcdir}/fileutil.c -CFLAGS_netutils.o = $(PICFLAGS) pic_netutils.o: ${srcdir}/netutils.c ${includes} - $(AFS_CCRULE) ${srcdir}/netutils.c + $(SHD_CCRULE) ${srcdir}/netutils.c -CFLAGS_flipbase64.o = $(PICFLAGS) pic_flipbase64.o: ${srcdir}/flipbase64.c ${includes} - $(AFS_CCRULE) ${srcdir}/flipbase64.c + $(SHD_CCRULE) ${srcdir}/flipbase64.c -CFLAGS_fstab.o = $(PICFLAGS) pic_fstab.o: ${srcdir}/fstab.c ${includes} - $(AFS_CCRULE) ${srcdir}/fstab.c + $(SHD_CCRULE) ${srcdir}/fstab.c -CFLAGS_afs_atomlist.o = $(PICFLAGS) pic_afs_atomlist.o: ${srcdir}/afs_atomlist.c ${includes} - $(AFS_CCRULE) ${srcdir}/afs_atomlist.c + $(SHD_CCRULE) ${srcdir}/afs_atomlist.c -CFLAGS_afs_lhash.o = $(PICFLAGS) pic_afs_lhash.o: ${srcdir}/afs_lhash.c ${includes} - $(AFS_CCRULE) ${srcdir}/afs_lhash.c + $(SHD_CCRULE) ${srcdir}/afs_lhash.c -CFLAGS_snprintf.o = $(PICFLAGS) pic_snprintf.o: ${srcdir}/snprintf.c ${includes} - $(AFS_CCRULE) ${srcdir}/snprintf.c + $(SHD_CCRULE) ${srcdir}/snprintf.c -CFLAGS_pthread_glock.o = $(PICFLAGS) pic_pthread_glock.o: ${srcdir}/pthread_glock.c ${includes} - $(AFS_CCRULE) ${srcdir}/pthread_glock.c + $(SHD_CCRULE) ${srcdir}/pthread_glock.c -CFLAGS_tabular_output.o = $(PICFLAGS) pic_tabular_output.o: ${srcdir}/tabular_output.c ${includes} - $(AFS_CCRULE) ${srcdir}/tabular_output.c + $(SHD_CCRULE) ${srcdir}/tabular_output.c -CFLAGS_regex.o = $(PICFLAGS) pic_regex.o: ${srcdir}/regex.c ${includes} - $(AFS_CCRULE) ${srcdir}/regex.c + $(SHD_CCRULE) ${srcdir}/regex.c # # Install targets -- 2.39.5