- patchlevel 050
This commit is contained in:
		
							parent
							
								
									55772aee61
								
							
						
					
					
						commit
						c38f8ed4ab
					
				
							
								
								
									
										199
									
								
								7.3.050
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								7.3.050
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,199 @@ | |||||||
|  | To: vim_dev@googlegroups.com | ||||||
|  | Subject: Patch 7.3.050 | ||||||
|  | Fcc: outbox | ||||||
|  | From: Bram Moolenaar <Bram@moolenaar.net> | ||||||
|  | Mime-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  | ------------ | ||||||
|  | 
 | ||||||
|  | Patch 7.3.050 | ||||||
|  | Problem:    The link script is clumsy. | ||||||
|  | Solution:   Use the --as-needed linker option if available. (Kirill A. | ||||||
|  | 	    Shutemov) | ||||||
|  | Files:	    src/Makefile, src/auto/configure, src/config.mk.in, | ||||||
|  | 	    src/configure.in, src/link.sh | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | *** ../vim-7.3.049/src/Makefile	2010-10-27 16:49:41.000000000 +0200 | ||||||
|  | --- src/Makefile	2010-11-03 22:26:45.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 1700,1706 **** | ||||||
|  |   	$(CCC) version.c -o objects/version.o | ||||||
|  |   	@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ | ||||||
|  |   		-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \ | ||||||
|  | ! 		MAKE="$(MAKE)" sh $(srcdir)/link.sh | ||||||
|  |    | ||||||
|  |   xxd/xxd$(EXEEXT): xxd/xxd.c | ||||||
|  |   	cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \ | ||||||
|  | --- 1700,1707 ---- | ||||||
|  |   	$(CCC) version.c -o objects/version.o | ||||||
|  |   	@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ | ||||||
|  |   		-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \ | ||||||
|  | ! 		MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ | ||||||
|  | ! 		sh $(srcdir)/link.sh | ||||||
|  |    | ||||||
|  |   xxd/xxd$(EXEEXT): xxd/xxd.c | ||||||
|  |   	cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \ | ||||||
|  | *** ../vim-7.3.049/src/auto/configure	2010-11-03 21:59:23.000000000 +0100 | ||||||
|  | --- src/auto/configure	2010-11-03 22:28:03.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 593,598 **** | ||||||
|  | --- 593,599 ---- | ||||||
|  |    | ||||||
|  |   ac_subst_vars='LTLIBOBJS | ||||||
|  |   LIBOBJS | ||||||
|  | + LINK_AS_NEEDED | ||||||
|  |   DEPEND_CFLAGS_FILTER | ||||||
|  |   MAKEMO | ||||||
|  |   MSGFMT | ||||||
|  | *************** | ||||||
|  | *** 12404,12409 **** | ||||||
|  | --- 12405,12427 ---- | ||||||
|  |   fi | ||||||
|  |    | ||||||
|  |    | ||||||
|  | + { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5 | ||||||
|  | + $as_echo_n "checking linker --as-needed support... " >&6; } | ||||||
|  | + LINK_AS_NEEDED= | ||||||
|  | + # Check if linker supports --as-needed and --no-as-needed options | ||||||
|  | + if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then | ||||||
|  | +   LDFLAGS="$LDFLAGS -Wl,--as-needed" | ||||||
|  | +   LINK_AS_NEEDED=yes | ||||||
|  | + fi | ||||||
|  | + if test "$LINK_AS_NEEDED" = yes; then | ||||||
|  | +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||||||
|  | + $as_echo "yes" >&6; } | ||||||
|  | + else | ||||||
|  | +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||||||
|  | + $as_echo "no" >&6; } | ||||||
|  | + fi | ||||||
|  | +  | ||||||
|  | +  | ||||||
|  |   ac_config_files="$ac_config_files auto/config.mk:config.mk.in" | ||||||
|  |    | ||||||
|  |   cat >confcache <<\_ACEOF | ||||||
|  | *** ../vim-7.3.049/src/config.mk.in	2010-08-15 21:57:28.000000000 +0200 | ||||||
|  | --- src/config.mk.in	2010-11-03 22:26:24.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 30,35 **** | ||||||
|  | --- 30,36 ---- | ||||||
|  |   CPP		= @CPP@ | ||||||
|  |   CPP_MM		= @CPP_MM@ | ||||||
|  |   DEPEND_CFLAGS_FILTER = @DEPEND_CFLAGS_FILTER@ | ||||||
|  | + LINK_AS_NEEDED	= @LINK_AS_NEEDED@ | ||||||
|  |   X_CFLAGS	= @X_CFLAGS@ | ||||||
|  |   X_LIBS_DIR	= @X_LIBS@ | ||||||
|  |   X_PRE_LIBS	= @X_PRE_LIBS@ | ||||||
|  | *** ../vim-7.3.049/src/configure.in	2010-11-03 21:59:23.000000000 +0100 | ||||||
|  | --- src/configure.in	2010-11-03 22:26:16.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 3527,3532 **** | ||||||
|  | --- 3527,3549 ---- | ||||||
|  |   fi | ||||||
|  |   AC_SUBST(DEPEND_CFLAGS_FILTER) | ||||||
|  |    | ||||||
|  | + dnl link.sh tries to avoid overlinking in a hackish way. | ||||||
|  | + dnl At least GNU ld supports --as-needed which provides the same functionality | ||||||
|  | + dnl at linker level. Let's use it. | ||||||
|  | + AC_MSG_CHECKING(linker --as-needed support) | ||||||
|  | + LINK_AS_NEEDED= | ||||||
|  | + # Check if linker supports --as-needed and --no-as-needed options | ||||||
|  | + if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then | ||||||
|  | +   LDFLAGS="$LDFLAGS -Wl,--as-needed" | ||||||
|  | +   LINK_AS_NEEDED=yes | ||||||
|  | + fi | ||||||
|  | + if test "$LINK_AS_NEEDED" = yes; then | ||||||
|  | +   AC_MSG_RESULT(yes) | ||||||
|  | + else | ||||||
|  | +   AC_MSG_RESULT(no) | ||||||
|  | + fi | ||||||
|  | + AC_SUBST(LINK_AS_NEEDED) | ||||||
|  | +  | ||||||
|  |   dnl write output files | ||||||
|  |   AC_OUTPUT(auto/config.mk:config.mk.in) | ||||||
|  |    | ||||||
|  | *** ../vim-7.3.049/src/link.sh	2010-08-15 21:57:25.000000000 +0200 | ||||||
|  | --- src/link.sh	2010-11-03 22:26:08.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 5,11 **** | ||||||
|  |   # libraries when they exist, but this doesn't mean they are needed for Vim. | ||||||
|  |   # | ||||||
|  |   #      Author: Bram Moolenaar | ||||||
|  | ! # Last change: 2006 Sep 26 | ||||||
|  |   #     License: Public domain | ||||||
|  |   # | ||||||
|  |   # Warning: This fails miserably if the linker doesn't return an error code! | ||||||
|  | --- 5,11 ---- | ||||||
|  |   # libraries when they exist, but this doesn't mean they are needed for Vim. | ||||||
|  |   # | ||||||
|  |   #      Author: Bram Moolenaar | ||||||
|  | ! # Last change: 2010 Nov 03 | ||||||
|  |   #     License: Public domain | ||||||
|  |   # | ||||||
|  |   # Warning: This fails miserably if the linker doesn't return an error code! | ||||||
|  | *************** | ||||||
|  | *** 16,26 **** | ||||||
|  |   echo "$LINK " >link.cmd | ||||||
|  |   exit_value=0 | ||||||
|  |    | ||||||
|  |   # | ||||||
|  |   # If auto/link.sed already exists, use it.  We assume a previous run of | ||||||
|  |   # link.sh has found the correct set of libraries. | ||||||
|  |   # | ||||||
|  | - if test -f auto/link.sed; then | ||||||
|  |     echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now." | ||||||
|  |     echo "link.sh: If linking fails, try deleting the auto/link.sed file." | ||||||
|  |     echo "link.sh: If this fails too, try creating an empty auto/link.sed file." | ||||||
|  | --- 16,38 ---- | ||||||
|  |   echo "$LINK " >link.cmd | ||||||
|  |   exit_value=0 | ||||||
|  |    | ||||||
|  | + if test "$LINK_AS_NEEDED" = yes; then | ||||||
|  | +   echo "link.sh: \$LINK_AS_NEEDED set to 'yes': invoking linker directly." | ||||||
|  | +   cat link.cmd | ||||||
|  | +   if sh link.cmd; then | ||||||
|  | +     exit_value=0 | ||||||
|  | +     echo "link.sh: Linked fine" | ||||||
|  | +   else | ||||||
|  | +     exit_value=$? | ||||||
|  | +     echo "link.sh: Linking failed" | ||||||
|  | +   fi | ||||||
|  | + else | ||||||
|  | +   if test -f auto/link.sed; then | ||||||
|  | +  | ||||||
|  |   # | ||||||
|  |   # If auto/link.sed already exists, use it.  We assume a previous run of | ||||||
|  |   # link.sh has found the correct set of libraries. | ||||||
|  |   # | ||||||
|  |     echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now." | ||||||
|  |     echo "link.sh: If linking fails, try deleting the auto/link.sed file." | ||||||
|  |     echo "link.sh: If this fails too, try creating an empty auto/link.sed file." | ||||||
|  | *************** | ||||||
|  | *** 124,129 **** | ||||||
|  | --- 136,143 ---- | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
|  |    | ||||||
|  | + fi | ||||||
|  | +  | ||||||
|  |   # | ||||||
|  |   # cleanup | ||||||
|  |   # | ||||||
|  | *** ../vim-7.3.049/src/version.c	2010-11-03 21:59:23.000000000 +0100 | ||||||
|  | --- src/version.c	2010-11-03 22:30:17.000000000 +0100 | ||||||
|  | *************** | ||||||
|  | *** 716,717 **** | ||||||
|  | --- 716,719 ---- | ||||||
|  |   {   /* Add new patch number below this line */ | ||||||
|  | + /**/ | ||||||
|  | +     50, | ||||||
|  |   /**/ | ||||||
|  | 
 | ||||||
|  | --  | ||||||
|  | Save the plankton - eat a whale. | ||||||
|  | 
 | ||||||
|  |  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\ | ||||||
|  | ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | ||||||
|  | \\\        download, build and distribute -- http://www.A-A-P.org        /// | ||||||
|  |  \\\            help me help AIDS victims -- http://ICCF-Holland.org    /// | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user