mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 00:12:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|     Add support for external spec file via the GCC_SPECS env var.  This
 | |
|     allows us to easily control pie/ssp defaults with gcc-config profiles.
 | |
| 
 | |
|     Original patch by Rob Holland
 | |
|     Extended to support multiple entries separated by ':' by Kevin F. Quinn
 | |
|     Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
 | |
| 
 | |
| --- gcc-4/gcc/gcc.c
 | |
| +++ gcc-4/gcc/gcc.c
 | |
| @@ -6482,6 +6482,32 @@
 | |
|  
 | |
|    /* Process any user specified specs in the order given on the command
 | |
|       line.  */
 | |
| +#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
 | |
| +  /* Add specs listed in GCC_SPECS.  Note; in the process of separating
 | |
| +   * each spec listed, the string is overwritten at token boundaries
 | |
| +   * (':') with '\0', an effect of strtok_r().
 | |
| +   */
 | |
| +  specs_file = getenv ("GCC_SPECS");
 | |
| +  if (specs_file && (strlen(specs_file) > 0))
 | |
| +    {
 | |
| +      char *spec, *saveptr;
 | |
| +      for (spec=strtok_r(specs_file,":",&saveptr);
 | |
| +           spec!=NULL;
 | |
| +           spec=strtok_r(NULL,":",&saveptr))
 | |
| +        {
 | |
| +          struct user_specs *user = (struct user_specs *)
 | |
| +            xmalloc (sizeof (struct user_specs));
 | |
| +
 | |
| +          user->next = (struct user_specs *) 0;
 | |
| +          user->filename = spec;
 | |
| +          if (user_specs_tail)
 | |
| +            user_specs_tail->next = user;
 | |
| +          else
 | |
| +            user_specs_head = user;
 | |
| +          user_specs_tail = user;
 | |
| +        }
 | |
| +    }
 | |
| +#endif
 | |
|    for (uptr = user_specs_head; uptr; uptr = uptr->next)
 | |
|      {
 | |
|        char *filename = find_a_file (&startfile_prefixes, uptr->filename,
 |