Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
ae04227b
Commit
ae04227b
authored
Jul 08, 1992
by
Charles Hannum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
entered into RCS
From-SVN: r1511
parent
eaec9d17
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
4 deletions
+54
-4
gcc/gcc.c
+54
-4
No files found.
gcc/gcc.c
View file @
ae04227b
...
...
@@ -813,6 +813,7 @@ struct prefix_list
char
*
prefix
;
/* String to prepend to the path. */
struct
prefix_list
*
next
;
/* Next in linked list. */
int
require_machine_suffix
;
/* Don't use without machine_suffix. */
/* 2 means try both machine_suffix and just_machine_suffix. */
int
*
used_flag_ptr
;
/* 1 if a file was found with this prefix. */
};
...
...
@@ -835,10 +836,16 @@ static struct path_prefix startfile_prefix = { 0, 0, "startfile" };
static
struct
path_prefix
library_prefix
=
{
0
,
0
,
"libraryfile"
};
/* Suffix to attach to directories searched for commands. */
/* Suffix to attach to directories searched for commands.
This looks like `MACHINE/VERSION/'. */
static
char
*
machine_suffix
=
0
;
/* Suffix to attach to directories searched for commands.
This is just `MACHINE/'. */
static
char
*
just_machine_suffix
=
0
;
/* Adjusted value of GCC_EXEC_PREFIX envvar. */
static
char
*
gcc_exec_prefix
;
...
...
@@ -1164,6 +1171,16 @@ putenv_from_prefixes (paths, env_var)
obstack_grow
(
&
collect_obstack
,
machine_suffix
,
suffix_len
);
}
if
(
just_machine_suffix
&&
pprefix
->
require_machine_suffix
==
2
)
{
if
(
!
first_time
)
obstack_grow
(
&
collect_obstack
,
":"
,
1
);
first_time
=
FALSE
;
obstack_grow
(
&
collect_obstack
,
pprefix
->
prefix
,
len
);
obstack_grow
(
&
collect_obstack
,
machine_suffix
,
suffix_len
);
}
if
(
!
pprefix
->
require_machine_suffix
)
{
if
(
!
first_time
)
...
...
@@ -1235,6 +1252,32 @@ find_a_file (pprefix, name, mode)
}
}
}
/* Certain prefixes are tried with just the machine type,
not the version. This is used for finding as, ld, etc. */
if
(
just_machine_suffix
&&
pl
->
require_machine_suffix
==
2
)
{
strcpy
(
temp
,
pl
->
prefix
);
strcat
(
temp
,
just_machine_suffix
);
strcat
(
temp
,
name
);
if
(
access
(
temp
,
mode
)
==
0
)
{
if
(
pl
->
used_flag_ptr
!=
0
)
*
pl
->
used_flag_ptr
=
1
;
return
temp
;
}
/* Some systems have a suffix for executable files.
So try appending that. */
if
(
file_suffix
[
0
]
!=
0
)
{
strcat
(
temp
,
file_suffix
);
if
(
access
(
temp
,
mode
)
==
0
)
{
if
(
pl
->
used_flag_ptr
!=
0
)
*
pl
->
used_flag_ptr
=
1
;
return
temp
;
}
}
}
/* Certain prefixes can't be used without the machine suffix
when the machine or version is explicitly specified. */
if
(
!
pl
->
require_machine_suffix
)
...
...
@@ -1271,7 +1314,11 @@ find_a_file (pprefix, name, mode)
If WARN is nonzero, we will warn if no file is found
through this prefix. WARN should point to an int
which will be set to 1 if this entry is used. */
which will be set to 1 if this entry is used.
REQUIRE_MACHINE_SUFFIX is 1 if this prefix can't be used without
the complete value of machine_suffix.
2 means try both machine_suffix and just_machine_suffix. */
static
void
add_prefix
(
pprefix
,
prefix
,
first
,
require_machine_suffix
,
warn
)
...
...
@@ -1955,8 +2002,10 @@ process_command (argc, argv)
/* These come before the md prefixes so that we will find gcc's subcommands
(such as cpp) rather than those of the host system. */
add_prefix
(
&
exec_prefix
,
standard_exec_prefix
,
0
,
1
,
NULL_PTR
);
add_prefix
(
&
exec_prefix
,
standard_exec_prefix_1
,
0
,
1
,
NULL_PTR
);
/* Use 2 as fourth arg meaning try just the machine as a suffix,
as well as trying the machine and the version. */
add_prefix
(
&
exec_prefix
,
standard_exec_prefix
,
0
,
2
,
NULL_PTR
);
add_prefix
(
&
exec_prefix
,
standard_exec_prefix_1
,
0
,
2
,
NULL_PTR
);
add_prefix
(
&
startfile_prefix
,
standard_exec_prefix
,
0
,
1
,
NULL_PTR
);
add_prefix
(
&
startfile_prefix
,
standard_exec_prefix_1
,
0
,
1
,
NULL_PTR
);
...
...
@@ -3067,6 +3116,7 @@ main (argc, argv)
/* Read specs from a file if there is one. */
machine_suffix
=
concat
(
spec_machine
,
"/"
,
concat
(
spec_version
,
"/"
,
""
));
just_machine_suffix
=
concat
(
spec_machine
,
"/"
,
""
);
specs_file
=
find_a_file
(
&
startfile_prefix
,
"specs"
,
R_OK
);
/* Read the specs file unless it is a default one. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment