Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Lubos Dolezel 2020-04-17 16:44:55 +02:00
commit def5435990
307 changed files with 95166 additions and 13765 deletions

View File

@ -1,842 +0,0 @@
## cctools 877.8 -> 886 ##
patching file ./as/i386.c
patching file ./include/stuff/ofile.h
patching file ./libstuff/checkout.c
patching file ./libstuff/ofile.c
can't find file to patch at input line 290
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-877.8/Makefile ./Makefile
|--- ../cctools-877.8/Makefile 2016-01-03 10:19:07.000000000 +0100
|+++ ./Makefile 2016-05-02 04:22:30.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
23 out of 23 hunks ignored
The next patch would create the file ./man/llvm-otool.1,
which already exists! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
patching file ./man/Makefile
patching file ./man/nm.1
The next patch would create the file ./man/nm-classic.1,
which already exists! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
The next patch would create the file ./man/otool-classic.1,
which already exists! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
The next patch would create the file ./man/size-classic.1,
which already exists! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
patching file ./misc/bitcode_strip.c
patching file ./misc/codesign_allocate.c
Hunk #2 NOT MERGED at 288-307, merged at 312-313.
patching file ./misc/indr.c
Hunk #2 NOT MERGED at 567-586, merged at 591-592.
patching file ./misc/inout.c
Hunk #2 NOT MERGED at 159-178, merged at 183-184.
patching file ./misc/install_name_tool.c
patching file ./misc/libtool.c
Hunk #3 NOT MERGED at 271-275,279-283.
Hunk #11 already applied at 3901.
can't find file to patch at input line 1311
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-877.8/misc/Makefile ./misc/Makefile
|--- ../cctools-877.8/misc/Makefile 2015-03-10 01:33:19.000000000 +0100
|+++ ./misc/Makefile 2016-01-20 02:39:22.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
patching file ./misc/nm.c
Hunk #7 merged at 524-529.
patching file ./misc/seg_hack.c
Hunk #2 NOT MERGED at 219-238, merged at 243-244.
patching file ./misc/strip.c
Hunk #2 NOT MERGED at 911-930, merged at 935-936.
patching file ./otool/arm64_disasm.c
patching file ./otool/arm64_disasm.h
patching file ./otool/arm_disasm.c
patching file ./otool/dyld_bind_info.c
patching file ./otool/i386_disasm.c
patching file ./otool/i860_disasm.c
patching file ./otool/m68k_disasm.c
patching file ./otool/m88k_disasm.c
patching file ./otool/main.c
can't find file to patch at input line 2490
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-877.8/otool/Makefile ./otool/Makefile
|--- ../cctools-877.8/otool/Makefile 2015-03-10 01:33:19.000000000 +0100
|+++ ./otool/Makefile 2016-01-20 02:39:22.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
patching file ./otool/ofile_print.c
patching file ./otool/ofile_print.h
patching file ./otool/print_bitcode.c
Hunk #1 merged at 53-56,62-71,78-80.
patching file ./otool/print_objc2_64bit.c
patching file ./otool/sparc_disasm.c
# ld64 253.9 -> ld64 264.3.102 ##
patching file ./doc/man/man1/ld.1
can't find file to patch at input line 49
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-253.9/ld64.xcodeproj/project.pbxproj ./ld64.xcodeproj/project.pbxproj
|--- ../ld64-253.9/ld64.xcodeproj/project.pbxproj 2015-05-20 08:11:58.000000000 +0200
|+++ ./ld64.xcodeproj/project.pbxproj 2016-01-27 22:57:12.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
55 out of 55 hunks ignored
patching file ./src/abstraction/MachOTrie.hpp
Hunk #2 NOT MERGED at 388-392.
patching file ./src/ld/InputFiles.cpp
Hunk #2 NOT MERGED at 340-345.
patching file ./src/ld/InputFiles.h
patching file ./src/ld/ld.cpp
patching file ./src/ld/ld.hpp
patching file ./src/ld/LinkEditClassic.hpp
patching file ./src/ld/Options.cpp
Hunk #2 merged at 196-197,203-204.
Hunk #15 merged at 2970-2973,2981-2984,2989-2992,2996-2999,3005-3008,3013-3016.
patching file ./src/ld/Options.h
patching file ./src/ld/OutputFile.cpp
patching file ./src/ld/OutputFile.h
patching file ./src/ld/parsers/generic_dylib_file.hpp
patching file ./src/ld/parsers/lto_file.cpp
patching file ./src/ld/parsers/lto_file.h
patching file ./src/ld/parsers/macho_dylib_file.cpp
Hunk #1 NOT MERGED at 37-42, merged at 48, merged at 55, merged at 145, merged at 148-149, merged at 151.
patching file ./src/ld/parsers/macho_dylib_file.h
patching file ./src/ld/parsers/macho_relocatable_file.cpp
Hunk #13 merged at 4516,4518.
patching file ./src/ld/parsers/macho_relocatable_file.h
patching file ./src/ld/parsers/textstub_dylib_file.cpp
Hunk #1 merged at 37.
Hunk #2 NOT MERGED at 71-75.
Hunk #9 merged at 514,521,526, NOT MERGED at 529-533,536,542.
patching file ./src/ld/passes/bitcode_bundle.cpp
patching file ./src/ld/passes/branch_island.cpp
patching file ./src/ld/passes/branch_shim.cpp
patching file ./src/ld/passes/code_dedup.cpp
patching file ./src/ld/passes/code_dedup.h
patching file ./src/ld/passes/compact_unwind.cpp
patching file ./src/ld/passes/objc.cpp
patching file ./src/ld/passes/stubs/stubs.cpp
patching file ./src/ld/Resolver.cpp
patching file ./src/ld/SymbolTable.cpp
patching file ./src/ld/SymbolTable.h
patching file ./src/other/machochecker.cpp
Hunk #19 NOT MERGED at 602-606.
Hunk #20 NOT MERGED at 623-627.
patching file ./src/other/unwinddump.cpp
can't find file to patch at input line 6845
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-253.9/unit-tests/run-all-unit-tests ./unit-tests/run-all-unit-tests
|--- ../ld64-253.9/unit-tests/run-all-unit-tests 2013-03-08 00:10:19.000000000 +0100
|+++ ./unit-tests/run-all-unit-tests 2015-11-11 01:07:39.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file ./unit-tests/test-cases/linker-optimization-hints/AdrpLdrGotLdrField.s
can't find file to patch at input line 6914
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-253.9/unit-tests/test-cases/linker-optimization-hints/Makefile ./unit-tests/test-cases/linker-optimization-hints/Makefile
|--- ../ld64-253.9/unit-tests/test-cases/linker-optimization-hints/Makefile 2014-01-27 22:34:25.000000000 +0100
|+++ ./unit-tests/test-cases/linker-optimization-hints/Makefile 2015-11-11 01:07:39.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
5 out of 5 hunks ignored
patching file ./unit-tests/test-cases/linker_options-library-chain/bar.c
patching file ./unit-tests/test-cases/linker_options-library-chain/foo.c
patching file ./unit-tests/test-cases/linker_options-library-chain/main.c
patching file ./unit-tests/test-cases/linker_options-library-chain/Makefile
patching file ./unit-tests/test-cases/linker_options-library-chain/subbar.c
can't find file to patch at input line 7433
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-253.9/unit-tests/test-cases/objc-category-optimize/Makefile ./unit-tests/test-cases/objc-category-optimize/Makefile
|--- ../ld64-253.9/unit-tests/test-cases/objc-category-optimize/Makefile 2013-10-19 03:10:28.000000000 +0200
|+++ ./unit-tests/test-cases/objc-category-optimize/Makefile 2015-11-11 01:07:39.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 7460
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-253.9/unit-tests/test-cases/objc-category-optimize-load/Makefile ./unit-tests/test-cases/objc-category-optimize-load/Makefile
|--- ../ld64-253.9/unit-tests/test-cases/objc-category-optimize-load/Makefile 2013-10-19 03:10:28.000000000 +0200
|+++ ./unit-tests/test-cases/objc-category-optimize-load/Makefile 2015-11-11 01:07:39.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
--------------------------------------------------------------------------------------------------------------------------------------------------------------
## cctools 877.5 -> 877.8 ##
patching file include/mach-o/loader.h
patching file libstuff/execute.c
patching file libstuff/ofile.c
patching file libstuff/swap_headers.c
patching file misc/bitcode_strip.c
Hunk #11 NOT MERGED at 364-373, merged at 377, merged at 382-385.
Hunk #20 merged at 547-557.
patching file otool/main.c
patching file otool/ofile_print.c
## ld64 253.3 -> ld64 253.9 ##
patching file src/ld/InputFiles.cpp
patching file src/ld/ld.hpp
patching file src/ld/Options.cpp
Hunk #1 NOT MERGED at 194-205.
patching file src/ld/Options.h
patching file src/ld/parsers/lto_file.cpp
Hunk #1 merged at 324-325.
patching file src/ld/parsers/macho_dylib_file.cpp
patching file src/ld/parsers/macho_relocatable_file.cpp
patching file src/ld/parsers/macho_relocatable_file.h
patching file src/ld/parsers/textstub_dylib_file.cpp
patching file src/ld/passes/bitcode_bundle.cpp
patching file src/ld/Resolver.cpp
patching file src/other/ObjectDump.cpp
--------------------------------------------------------------------------------------------------------------------------------------------------------------
## cctools 870 -> 877.5 ##
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-870/Makefile ./Makefile
|--- ../cctools-870/Makefile 2015-08-26 07:49:15.000000000 +0200
|+++ ./Makefile 2015-09-15 03:35:14.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
patching file ./as/driver.c
patching file ./include/Makefile
patching file ./include/mach/arm/_structs.h
patching file ./include/mach-o/loader.h
patching file ./include/stuff/breakout.h
patching file ./include/stuff/bytesex.h
Hunk #1 succeeded at 59 (offset 5 lines).
Hunk #2 succeeded at 432 (offset 5 lines).
patching file ./include/xar/xar.h
patching file ./libstuff/bytesex.c
Hunk #1 succeeded at 209 (offset 5 lines).
Hunk #2 succeeded at 2910 (offset 5 lines).
patching file ./libstuff/checkout.c
patching file ./libstuff/lto.c
Hunk #2 succeeded at 139 (offset 11 lines).
Hunk #3 succeeded at 168 (offset 11 lines).
patching file ./libstuff/ofile.c
Hunk #1 succeeded at 4205 (offset 5 lines).
patching file ./libstuff/swap_headers.c
Hunk #1 succeeded at 1172 (offset 5 lines).
Hunk #2 succeeded at 1759 (offset 5 lines).
patching file ./man/Makefile
patching file ./man/as.1
patching file ./man/bitcode_strip.1
patching file ./man/otool.1
can't find file to patch at input line 892
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-870/misc/Makefile ./misc/Makefile
|--- ../cctools-870/misc/Makefile 2013-12-10 20:28:11.000000000 +0100
|+++ ./misc/Makefile 2015-03-10 01:33:19.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
7 out of 7 hunks ignored
patching file ./misc/bitcode_strip.c
patching file ./misc/codesign_allocate.c
Hunk #1 succeeded at 372 (offset 20 lines).
patching file ./misc/libtool.c
Hunk #1 succeeded at 211 (offset 3 lines).
Hunk #2 succeeded at 266 (offset 3 lines).
Hunk #3 succeeded at 1524 (offset 10 lines).
Hunk #4 succeeded at 2189 (offset 10 lines).
Hunk #5 succeeded at 2202 (offset 10 lines).
Hunk #6 succeeded at 2214 (offset 10 lines).
Hunk #7 succeeded at 3493 (offset 10 lines).
Hunk #8 succeeded at 3621 (offset 10 lines).
Hunk #9 succeeded at 3700 (offset 10 lines).
Hunk #10 succeeded at 3840 (offset 10 lines).
can't find file to patch at input line 2635
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-870/otool/Makefile ./otool/Makefile
|--- ../cctools-870/otool/Makefile 2014-01-14 01:21:55.000000000 +0100
|+++ ./otool/Makefile 2015-03-10 01:33:19.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file ./otool/main.c
Hunk #1 succeeded at 1511 (offset 4 lines).
Hunk #2 succeeded at 1553 (offset 4 lines).
patching file ./otool/ofile_print.c
Hunk #1 succeeded at 294 (offset 8 lines).
Hunk #2 succeeded at 2292 (offset 10 lines).
Hunk #3 succeeded at 3502 (offset 10 lines).
Hunk #4 succeeded at 7631 (offset 10 lines).
Hunk #5 succeeded at 7685 (offset 10 lines).
Hunk #6 succeeded at 7701 (offset 10 lines).
Hunk #7 succeeded at 7741 (offset 10 lines).
Hunk #8 succeeded at 7757 (offset 10 lines).
Hunk #9 succeeded at 7772 (offset 10 lines).
Hunk #10 succeeded at 7781 (offset 10 lines).
Hunk #11 succeeded at 7811 (offset 10 lines).
Hunk #12 succeeded at 7826 (offset 10 lines).
Hunk #13 succeeded at 8076 (offset 12 lines).
Hunk #14 succeeded at 8173 (offset 12 lines).
patching file ./otool/ofile_print.h
patching file ./otool/print_bitcode.c
patching file ./otool/print_objc2_32bit.c
patching file ./otool/print_objc2_64bit.c
## ld64 242.2 -> ld64 253.3 ##
patching file ./doc/man/man1/ld.1
can't find file to patch at input line 78
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur '--exclude=unit-tests' ../ld64-242.2/ld64.xcodeproj/project.pbxproj ./ld64.xcodeproj/project.pbxproj
|--- ../ld64-242.2/ld64.xcodeproj/project.pbxproj 2014-08-20 00:19:03.000000000 +0200
|+++ ./ld64.xcodeproj/project.pbxproj 2015-05-20 08:11:58.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
22 out of 22 hunks ignored
patching file ./src/abstraction/MachOFileAbstraction.hpp
patching file ./src/create_configure
patching file ./src/ld/Bitcode.hpp
patching file ./src/ld/HeaderAndLoadCommands.hpp
patching file ./src/ld/InputFiles.cpp
Hunk #3 merged at 334.
Hunk #10 merged at 858, NOT MERGED at 861-870.
patching file ./src/ld/LinkEdit.hpp
patching file ./src/ld/LinkEditClassic.hpp
patching file ./src/ld/Options.cpp
Hunk #1 merged at 39-40, NOT MERGED at 47-54.
Hunk #18 NOT MERGED at 1958-1962.
patching file ./src/ld/Options.h
Hunk #13 merged at 481.
patching file ./src/ld/OutputFile.cpp
patching file ./src/ld/OutputFile.h
patching file ./src/ld/Resolver.cpp
patching file ./src/ld/Resolver.h
patching file ./src/ld/SymbolTable.cpp
patching file ./src/ld/SymbolTable.h
patching file ./src/ld/code-sign-blobs/memutils.h
Hunk #1 NOT MERGED at 56-66.
patching file ./src/ld/ld.cpp
patching file ./src/ld/ld.hpp
Hunk #1 merged at 35-36,38,45-47.
The next patch would delete the file ./src/ld/lto_file.hpp,
which does not exist! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
patching file ./src/ld/parsers/lto_file.cpp
Hunk #1 merged at 39.
Hunk #9 NOT MERGED at 551-558.
patching file ./src/ld/parsers/lto_file.h
patching file ./src/ld/parsers/macho_dylib_file.cpp
patching file ./src/ld/parsers/macho_relocatable_file.cpp
Hunk #1 merged at 45,51.
patching file ./src/ld/parsers/macho_relocatable_file.h
patching file ./src/ld/parsers/opaque_section_file.cpp
patching file ./src/ld/parsers/textstub_dylib_file.cpp
patching file ./src/ld/parsers/textstub_dylib_file.hpp
patching file ./src/ld/passes/bitcode_bundle.cpp
patching file ./src/ld/passes/bitcode_bundle.h
patching file ./src/ld/passes/branch_island.cpp
Hunk #1 NOT MERGED at 555-559.
patching file ./src/ld/passes/branch_shim.cpp
patching file ./src/ld/passes/dylibs.cpp
patching file ./src/ld/passes/got.cpp
patching file ./src/ld/passes/huge.cpp
patching file ./src/ld/passes/objc.cpp
patching file ./src/ld/passes/order.cpp
patching file ./src/ld/passes/stubs/stub_arm.hpp
patching file ./src/ld/passes/stubs/stub_arm64.hpp
patching file ./src/ld/passes/stubs/stubs.cpp
patching file ./src/ld/passes/tlvp.cpp
patching file ./src/other/ObjectDump.cpp
patching file ./src/other/dyldinfo.cpp
Hunk #10 NOT MERGED at 1892-1895.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
## ld64 242 -> ld64 242.2 ##
patching file ./src/ld/passes/branch_island.cpp
patching file ./src/ld/passes/compact_unwind.cpp
patching file ./src/ld/passes/got.cpp
can't find file to patch at input line 214
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-242/unit-tests/test-cases/branch-islands/space.s ./unit-tests/test-cases/branch-islands/space.s
|--- ../ld64-242/unit-tests/test-cases/branch-islands/space.s 2013-10-19 03:10:28.000000000 +0200
|+++ ./unit-tests/test-cases/branch-islands/space.s 2015-05-05 21:42:23.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
--------------------------------------------------------------------------------------------------------------------------------------------------------------
## cctools 862 -> 870 ##
patching file ./as/arm.c
Hunk #1 NOT MERGED at 17844-17848. # Has already been fixed in my repo.
Hunk #2 NOT MERGED at 17893-17897. # Has already been fixed in my repo.
Hunk #3 NOT MERGED at 17940-17944. # Has already been fixed in my repo.
Hunk #4 NOT MERGED at 17988-17992. # Has already been fixed in my repo.
patching file ./as/driver.c
Hunk #1 already applied at 64. # Has already been fixed in my repo.
patching file ./include/mach-o/loader.h
patching file ./include/mach-o/stab.h
can't find file to patch at input line 86
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-862/libmacho/Makefile ./libmacho/Makefile
|--- ../cctools-862/libmacho/Makefile 2014-11-02 06:48:07.000000000 +0100
|+++ ./libmacho/Makefile 2015-01-08 03:29:57.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y] y
Skipping patch.
10 out of 10 hunks ignored
can't find file to patch at input line 247
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-862/libmacho/arch.c ./libmacho/arch.c
|--- ../cctools-862/libmacho/arch.c 2014-11-02 06:48:07.000000000 +0100
|+++ ./libmacho/arch.c 2014-09-29 23:48:52.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 274
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-862/libmacho/getsecbyname.c ./libmacho/getsecbyname.c
|--- ../cctools-862/libmacho/getsecbyname.c 2014-11-02 06:48:07.000000000 +0100
|+++ ./libmacho/getsecbyname.c 2015-01-08 03:29:57.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
10 out of 10 hunks ignored
patching file ./libstuff/arch.c
patching file ./libstuff/ofile.c
patching file ./libstuff/swap_headers.c
patching file ./man/otool.1
patching file ./misc/codesign_allocate.c
patching file ./misc/install_name_tool.c
patching file ./misc/libtool.c
Hunk #1 NOT MERGED at 1375-1385. # Resolved. Also something I already had fixed in my repo, but not 100% correctly.
patching file ./misc/lipo.c
patching file ./misc/nm.c
patching file ./otool/arm64_disasm.c
patching file ./otool/arm_disasm.c
patching file ./otool/i386_disasm.c
patching file ./otool/main.c
patching file ./otool/ofile_print.c
patching file ./otool/ofile_print.h
patching file ./otool/otool.h
patching file ./otool/print_objc2_32bit.c
patching file ./otool/print_objc2_64bit.c
## ld64 241.9 -> ld64 242 ##
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was: # I do not support buildig with Xcode.
--------------------------
|diff -Naur ../ld64-241.9/ld64.xcodeproj/project.pbxproj ./ld64.xcodeproj/project.pbxproj
|--- ../ld64-241.9/ld64.xcodeproj/project.pbxproj 2014-11-04 00:58:03.000000000 +0100
|+++ ./ld64.xcodeproj/project.pbxproj 2014-08-20 00:19:03.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
7 out of 7 hunks ignored
patching file ./src/abstraction/MachOFileAbstraction.hpp
Hunk #1 NOT MERGED at 257-276. # Has already been fixed in my repo, but in a little different way.
patching file ./src/create_configure
patching file ./src/ld/InputFiles.cpp
patching file ./src/ld/Options.cpp
patching file ./src/ld/Options.h
patching file ./src/ld/Resolver.cpp
patching file ./src/ld/ld.hpp
patching file ./src/ld/parsers/libunwind/DwarfInstructions.hpp
patching file ./src/ld/parsers/lto_file.cpp
Hunk #2 NOT MERGED at 499-507. # Resolved.
patching file ./src/ld/parsers/lto_file.h
patching file ./src/ld/parsers/macho_relocatable_file.cpp
Hunk #8 merged at 4219-4234.
patching file ./src/ld/parsers/macho_relocatable_file.h
patching file ./src/ld/passes/compact_unwind.cpp
patching file ./src/other/ObjectDump.cpp
patching file ./src/other/unwinddump.cpp
--------------------------------------------------------------------------------------------------------------------------------------------------------------
## cctools 855 -> 862 ##
patching file efitools/mtoc.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file efitools/mtoc.c.rej
patching file include/llvm-c/Disassembler.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file include/llvm-c/Disassembler.h.rej
patching file include/mach-o/loader.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file include/mach-o/loader.h.rej
patching file include/mach-o/nlist.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file include/mach-o/nlist.h.rej
patching file include/stuff/llvm.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file include/stuff/llvm.h.rej
can't find file to patch at input line 103
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../cctools-855/libmacho/arch.c ./libmacho/arch.c
|--- ../cctools-855/libmacho/arch.c 2014-04-05 00:42:22.000000000 +0200
|+++ ./libmacho/arch.c 2014-11-02 06:48:07.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file libstuff/checkout.c
patching file libstuff/llvm.c
Hunk #1 succeeded at 27 (offset 1 line).
Hunk #2 succeeded at 69 with fuzz 1 (offset -2 lines).
Hunk #3 succeeded at 78 (offset -2 lines).
Hunk #4 succeeded at 93 (offset -2 lines).
Hunk #5 succeeded at 183 (offset -2 lines).
patching file libstuff/ofile.c
patching file man/as.1
patching file man/libtool.1
patching file man/otool.1
patching file misc/libtool.c
Hunk #1 succeeded at 149 (offset 2 lines).
Hunk #2 succeeded at 977 (offset -2 lines).
Hunk #3 succeeded at 1269 (offset -2 lines).
patching file misc/lipo.c
patching file misc/nm.c
patching file misc/strip.c
patching file otool/arm_disasm.c
patching file otool/i386_disasm.c
patching file otool/main.c
Hunk #2 succeeded at 330 with fuzz 1.
Hunk #4 succeeded at 561 (offset 1 line).
Hunk #5 succeeded at 577 (offset 1 line).
Hunk #6 succeeded at 619 (offset 1 line).
Hunk #7 succeeded at 656 (offset 1 line).
Hunk #8 succeeded at 3193 (offset 1 line).
Hunk #9 succeeded at 3207 (offset 1 line).
patching file otool/ofile_print.c
patching file otool/print_objc2_32bit.c
patching file otool/print_objc2_64bit.c
## ld64 236.3 -> 241.9 ##
patching file doc/man/man1/ld.1
can't find file to patch at input line 66
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/ld64.xcodeproj/project.pbxproj ./ld64.xcodeproj/project.pbxproj
|--- ../ld64-236.3/ld64.xcodeproj/project.pbxproj 2014-04-05 00:42:29.000000000 +0200
|+++ ./ld64.xcodeproj/project.pbxproj 2014-11-04 00:58:03.000000000 +0100
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
patching file src/abstraction/MachOFileAbstraction.hpp
Hunk #3 succeeded at 374 (offset 4 lines).
Hunk #4 succeeded at 446 (offset 4 lines).
patching file src/ld/HeaderAndLoadCommands.hpp
Hunk #1 succeeded at 600 (offset 9 lines).
Hunk #2 succeeded at 761 (offset 9 lines).
patching file src/ld/InputFiles.cpp
Hunk #1 succeeded at 257 (offset 2 lines).
Hunk #2 succeeded at 314 with fuzz 1 (offset 4 lines).
Hunk #3 succeeded at 381 with fuzz 2 (offset 6 lines).
Hunk #4 succeeded at 576 (offset 6 lines).
Hunk #5 succeeded at 592 (offset 6 lines).
Hunk #6 succeeded at 613 (offset 6 lines).
Hunk #7 succeeded at 627 (offset 6 lines).
Hunk #8 succeeded at 943 (offset 8 lines).
Hunk #9 succeeded at 1178 (offset 8 lines).
Hunk #10 succeeded at 1327 (offset 8 lines).
Hunk #11 succeeded at 1369 (offset 8 lines).
patching file src/ld/InputFiles.h
patching file src/ld/ld.cpp
Hunk #1 succeeded at 108 (offset 2 lines).
Hunk #2 succeeded at 120 (offset 2 lines).
Hunk #3 succeeded at 184 (offset 2 lines).
Hunk #4 succeeded at 200 (offset 2 lines).
Hunk #5 succeeded at 238 (offset 2 lines).
Hunk #6 succeeded at 254 (offset 2 lines).
Hunk #7 succeeded at 305 (offset 2 lines).
Hunk #8 succeeded at 365 (offset 2 lines).
Hunk #9 succeeded at 375 (offset 2 lines).
Hunk #10 succeeded at 496 (offset 2 lines).
Hunk #11 succeeded at 594 (offset 2 lines).
Hunk #12 succeeded at 616 (offset 2 lines).
Hunk #13 succeeded at 647 (offset 2 lines).
Hunk #14 succeeded at 898 (offset 2 lines).
Hunk #15 succeeded at 927 (offset 2 lines).
patching file src/ld/ld.hpp
Hunk #1 succeeded at 147 (offset 1 line).
Hunk #2 succeeded at 168 (offset 1 line).
Hunk #3 succeeded at 272 (offset 1 line).
Hunk #4 succeeded at 316 (offset 1 line).
Hunk #5 succeeded at 532 (offset 1 line).
Hunk #6 succeeded at 545 (offset 1 line).
Hunk #7 succeeded at 575 (offset 1 line).
Hunk #8 succeeded at 586 (offset 1 line).
Hunk #9 succeeded at 757 (offset 1 line).
Hunk #10 succeeded at 775 (offset 1 line).
Hunk #11 succeeded at 859 (offset 1 line).
Hunk #12 succeeded at 879 (offset 1 line).
patching file src/ld/LinkEditClassic.hpp
patching file src/ld/Options.cpp
Hunk #1 succeeded at 134 (offset 7 lines).
Hunk #2 succeeded at 183 (offset 7 lines).
Hunk #3 succeeded at 547 (offset 7 lines).
Hunk #4 succeeded at 1031 (offset 7 lines).
Hunk #5 succeeded at 1793 (offset 7 lines).
Hunk #6 succeeded at 3001 (offset 11 lines).
Hunk #7 succeeded at 3060 (offset 11 lines).
Hunk #8 succeeded at 3440 (offset 13 lines).
Hunk #9 succeeded at 3911 (offset 13 lines).
Hunk #10 succeeded at 4039 (offset 13 lines).
Hunk #11 succeeded at 4076 (offset 13 lines).
Hunk #12 succeeded at 4130 (offset 13 lines).
Hunk #13 succeeded at 4166 (offset 13 lines).
Hunk #14 succeeded at 4281 (offset 13 lines).
Hunk #15 succeeded at 4301 (offset 13 lines).
Hunk #16 succeeded at 4769 (offset 13 lines).
patching file src/ld/Options.h
patching file src/ld/OutputFile.cpp
Hunk #11 succeeded at 2857 (offset 6 lines).
Hunk #12 succeeded at 4587 (offset 6 lines).
Hunk #13 succeeded at 4659 (offset 6 lines).
Hunk #14 succeeded at 4734 (offset 6 lines).
Hunk #15 succeeded at 4760 (offset 6 lines).
Hunk #16 succeeded at 4946 (offset 6 lines).
patching file src/ld/parsers/libunwind/DwarfInstructions.hpp
patching file src/ld/parsers/libunwind/DwarfParser.hpp
patching file src/ld/parsers/libunwind/Registers.hpp
Hunk #1 succeeded at 1325 (offset 8 lines).
patching file src/ld/parsers/lto_file.cpp
Hunk #1 succeeded at 79 (offset 5 lines).
Hunk #2 succeeded at 113 (offset 5 lines).
Hunk #3 succeeded at 234 (offset 5 lines).
Hunk #4 succeeded at 307 (offset 5 lines).
Hunk #5 succeeded at 338 (offset 5 lines).
Hunk #6 succeeded at 425 (offset 5 lines).
Hunk #7 succeeded at 455 (offset 5 lines).
Hunk #8 succeeded at 488 (offset 5 lines).
Hunk #9 succeeded at 538 (offset 5 lines).
Hunk #10 succeeded at 584 (offset 5 lines).
Hunk #11 succeeded at 644 (offset 5 lines).
Hunk #12 succeeded at 757 (offset 5 lines).
Hunk #13 succeeded at 798 (offset 5 lines).
Hunk #14 succeeded at 850 (offset 5 lines).
patching file src/ld/parsers/lto_file.h
patching file src/ld/parsers/macho_dylib_file.cpp
Hunk #10 FAILED at 1088.
1 out of 10 hunks FAILED -- saving rejects to file src/ld/parsers/macho_dylib_file.cpp.rej
patching file src/ld/parsers/macho_relocatable_file.cpp
patching file src/ld/passes/branch_island.cpp
patching file src/ld/passes/compact_unwind.cpp
patching file src/ld/passes/objc.cpp
patching file src/ld/passes/order.cpp
patching file src/ld/Resolver.cpp
Hunk #7 succeeded at 1550 (offset 1 line).
Hunk #8 succeeded at 1581 (offset 1 line).
Hunk #9 succeeded at 1684 (offset 4 lines).
patching file src/ld/Resolver.h
patching file src/ld/SymbolTable.cpp
patching file src/other/ObjectDump.cpp
Hunk #1 succeeded at 835 (offset 4 lines).
Hunk #2 FAILED at 996.
Hunk #3 succeeded at 1016 (offset 7 lines).
1 out of 3 hunks FAILED -- saving rejects to file src/other/ObjectDump.cpp.rej
patching file src/other/unwinddump.cpp
can't find file to patch at input line 3517
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/unit-tests/include/common.makefile ./unit-tests/include/common.makefile
|--- ../ld64-236.3/unit-tests/include/common.makefile 2014-04-05 00:42:29.000000000 +0200
|+++ ./unit-tests/include/common.makefile 2014-09-11 00:24:46.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
patching file unit-tests/test-cases/alias-basic/aliases.s
patching file unit-tests/test-cases/alias-basic/main.c
patching file unit-tests/test-cases/alias-basic/Makefile
can't find file to patch at input line 3639
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/unit-tests/test-cases/alias-objects/aliases.s ./unit-tests/test-cases/alias-objects/aliases.s
|--- ../ld64-236.3/unit-tests/test-cases/alias-objects/aliases.s 2014-04-05 00:42:29.000000000 +0200
|+++ ./unit-tests/test-cases/alias-objects/aliases.s 2014-09-11 00:24:46.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 3668
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/unit-tests/test-cases/alias-objects/Makefile ./unit-tests/test-cases/alias-objects/Makefile
|--- ../ld64-236.3/unit-tests/test-cases/alias-objects/Makefile 2014-04-05 00:42:29.000000000 +0200
|+++ ./unit-tests/test-cases/alias-objects/Makefile 2014-09-11 00:24:46.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
patching file unit-tests/test-cases/alt-entry/foo.c
patching file unit-tests/test-cases/alt-entry/main.c
patching file unit-tests/test-cases/alt-entry/Makefile
patching file unit-tests/test-cases/lto-r/bar.c
patching file unit-tests/test-cases/lto-r/foo.c
patching file unit-tests/test-cases/lto-r/main.c
patching file unit-tests/test-cases/lto-r/Makefile
patching file unit-tests/test-cases/lto-rename_section/a.c
patching file unit-tests/test-cases/lto-rename_section/b.c
patching file unit-tests/test-cases/lto-rename_section/main.c
patching file unit-tests/test-cases/lto-rename_section/Makefile
patching file unit-tests/test-cases/lto-rename_segment/a.c
patching file unit-tests/test-cases/lto-rename_segment/b.c
patching file unit-tests/test-cases/lto-rename_segment/main.c
patching file unit-tests/test-cases/lto-rename_segment/Makefile
patching file unit-tests/test-cases/lto-symbol-section-move/foo.c
patching file unit-tests/test-cases/lto-symbol-section-move/main.c
patching file unit-tests/test-cases/lto-symbol-section-move/Makefile
patching file unit-tests/test-cases/lto-symbol-section-move/other.c
patching file unit-tests/test-cases/lto-symbol-section-move/ram1.symbols
patching file unit-tests/test-cases/lto-symbol-section-move/rom1.symbols
patching file unit-tests/test-cases/preload-section_order/extra.s
patching file unit-tests/test-cases/preload-section_order/main1.expected
patching file unit-tests/test-cases/preload-section_order/main2.expected
patching file unit-tests/test-cases/preload-section_order/main.c
patching file unit-tests/test-cases/preload-section_order/Makefile
patching file unit-tests/test-cases/preload-section_order/more.s
patching file unit-tests/test-cases/preload-segment_order/a.c
patching file unit-tests/test-cases/preload-segment_order/b.c
patching file unit-tests/test-cases/preload-segment_order/main.c
patching file unit-tests/test-cases/preload-segment_order/main-segs.expected
patching file unit-tests/test-cases/preload-segment_order/Makefile
can't find file to patch at input line 4481
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/unit-tests/test-cases/section-labels/main.c ./unit-tests/test-cases/section-labels/main.c
|--- ../ld64-236.3/unit-tests/test-cases/section-labels/main.c 2014-04-05 00:42:29.000000000 +0200
|+++ ./unit-tests/test-cases/section-labels/main.c 2014-09-11 00:24:46.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file unit-tests/test-cases/symbol-section-move/main.c
patching file unit-tests/test-cases/symbol-section-move/Makefile
patching file unit-tests/test-cases/symbol-section-move/other.c
patching file unit-tests/test-cases/symbol-section-move/ram1.symbols
patching file unit-tests/test-cases/symbol-section-move/rom1.symbols
can't find file to patch at input line 4654
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ../ld64-236.3/unit-tests/test-cases/weak_import-undefined/Makefile ./unit-tests/test-cases/weak_import-undefined/Makefile
|--- ../ld64-236.3/unit-tests/test-cases/weak_import-undefined/Makefile 2014-04-05 00:42:29.000000000 +0200
|+++ ./unit-tests/test-cases/weak_import-undefined/Makefile 2014-09-11 00:24:46.000000000 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored

View File

@ -1,15 +1,14 @@
language: cpp
dist: trusty
os:
- linux
compiler:
- gcc
- clang
before_install:
- if [ $TRAVIS_OS_NAME == linux ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get update -qq && sudo apt-get install -y gcc-4.7 g++-4.7 gobjc-4.7 llvm-dev; fi
- if [ $CXX == g++ ]; then export CC=gcc-4.7 && export CXX=g++-4.7; fi
- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get install -y git gcc g++ gobjc llvm-dev cmake; fi
script:
- cd cctools && ./autogen.sh && ./configure && make
- mkdir -p tmp && TMP=$PWD/tmp && git clone https://github.com/tpoechtrager/apple-libtapi.git && cd apple-libtapi && INSTALLPREFIX=$TMP ./build.sh && ./install.sh && cd .. && cd cctools && ./configure --with-libtapi=$TMP && make

View File

@ -1,35 +1,43 @@
# Apple cctools port for Linux, *BSD and Windows (Cygwin) #
# Apple cctools and ld64 port for Linux, *BSD and macOS #
Current Version: 886 + ld64-264.3.102.
Current Version: cctools: 949.0.1, ld64: 512.4.
Originally ported by [cjacker](http://ios-toolchain-based-on-clang-for-linux.googlecode.com).
## SUPPORTED HOSTS ##
**SUPPORTED OPERATING SYSTEMS:**
Linux, FreeBSD, NetBSD, OpenBSD, DragonFlyBSD,
Windows (Cygwin), Mac OS X and iOS
Linux, Android (Termux), FreeBSD,
Mac OS X, iOS, OpenBSD and NetBSD
**SUPPORTED HOST ARCHITECTURES:**
x86, x86_64, arm
Untested, but compiles:
aarch64, ppc, ppc64
x86, x86_64, arm, arm64/aarch64
## SUPPORTED TARGET ARCHITECTURES ##
armv4t, armv5, armv6, armv7, armv7f, armv7k, armv7s, armv6m
armv7m, armv7em, armv8, arm64, arm64v8, i386, x86_64 and x86_64h.
armv6, armv7, armv7s, arm64, arm64e,
arm64_32 (untested), i386, x86_64, x86_64h,
armv6m, armv7k, armv7m and armv7em
arm64e requires [Apple LLVM/Clang](https://github.com/apple/llvm-project).
## SUPPORTED TARGET OPERATING SYSTEMS ##
Mac OS X, iOS, watchOS (untested) and tvOS (untested)
macOS, iOS, tvOS, watchOS, bridgeOS, Mac Catalyst,
iOS Simluator, watchOS Simulator, DriverKit
Not all of the targets have been tested.
## DEPENDENCIES ##
`Clang 3.2+ or gcc/g++/gcc-objc 4.7+`, `automake`, `autogen` and `libtool`.
`Clang 3.4+`
SDKs with .tdb stubs (>= Xcode 7) require the TAPI library to be installed.
=> https://github.com/tpoechtrager/apple-libtapi
musl-libc based systems require the musl-fts library to be installed.
=> https://github.com/pullmoll/musl-fts
Optional, but recommended:
@ -42,11 +50,24 @@ Do not install libxar-dev on Ubuntu, it's a different package.
## INSTALLATION ##
* `cd cctools`
* `./autogen.sh`
* `./configure --prefix=<installdir> --target=<target> [--with-llvm-config=...]`
* `make`
* `make install`
### Install Apple's TAPI library:
This step is only required if you intend to use SDKs with .tdb stubs.
git clone https://github.com/tpoechtrager/apple-libtapi.git
cd apple-libtapi
[INSTALLPREFIX=/home/user/cctools] ./build.sh
./install.sh
### Install cctools and ld64:
git clone https://github.com/tpoechtrager/cctools-port.git
cd cctools-port/cctools
./configure \
[--prefix=/home/user/cctools] \
[--with-libtapi=/home/user/cctools] \
[--target=<target>] \
[--with-llvm-config=...]
make
make install
target = `i386-apple-darwin11`, `x86_64-apple-darwin11`, `arm-apple-darwin11`, ...
@ -55,4 +76,4 @@ If you get compile errors because of `unistd.h`, then please run
## TRAVIS CI ##
[![Build Status](https://travis-ci.org/tpoechtrager/cctools-port.svg?branch=master)](https://travis-ci.org/tpoechtrager/cctools-port)
[![Build Status](https://travis-ci.org/tpoechtrager/cctools-port.svg?branch=949.0.1-ld64-512.4)](https://travis-ci.org/tpoechtrager/cctools-port)

View File

@ -1,7 +1,7 @@
if ISDARWIN
SUBDIRS=libstuff ar as misc otool ld64
SUBDIRS=libstuff libmacho ar as misc otool efitools ld64 man
else
SUBDIRS=libstuff ar as misc libobjc2 otool ld64
SUBDIRS=libobjc2 libstuff libmacho ar as misc otool efitools ld64 man
endif
ACLOCAL_AMFLAGS = -I m4

845
cctools/Makefile.in Normal file
View File

@ -0,0 +1,845 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__maybe_remake_depfiles =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = libobjc2 libstuff libmacho ar as misc otool efitools \
ld64 man
am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
INSTALL NEWS README compile config.guess config.sub install-sh \
ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
GZIP_ENV = --best
DIST_ARCHIVES = $(distdir).tar.bz2
DIST_TARGETS = dist-bzip2
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@ISDARWIN_FALSE@SUBDIRS = libobjc2 libstuff libmacho ar as misc otool efitools ld64 man
@ISDARWIN_TRUE@SUBDIRS = libstuff libmacho ar as misc otool efitools ld64 man
ACLOCAL_AMFLAGS = -I m4
DSTROOT =
RC_OS = macos
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu --ignore-deps'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu --ignore-deps \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-zstd: distdir
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
*.tar.zst*) \
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
.PRECIOUS: Makefile
installhdrs:
cd include; $(MAKE) DSTROOT=$(DSTROOT) RC_OS=$(RC_OS) install
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

726
cctools/ar/Makefile.in Normal file
View File

@ -0,0 +1,726 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = ar$(EXEEXT)
subdir = ar
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_ar_OBJECTS = ar-append.$(OBJEXT) ar-ar.$(OBJEXT) \
ar-archive.$(OBJEXT) ar-contents.$(OBJEXT) ar-delete.$(OBJEXT) \
ar-extract.$(OBJEXT) ar-misc.$(OBJEXT) ar-move.$(OBJEXT) \
ar-print.$(OBJEXT) ar-replace.$(OBJEXT)
ar_OBJECTS = $(am_ar_OBJECTS)
ar_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
ar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(ar_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(ar_SOURCES)
DIST_SOURCES = $(ar_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ar_LDADD = \
$(top_builddir)/libstuff/libstuff.la
ar_CFLAGS = -D__DARWIN_UNIX03 -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff $(WARNINGS) $(LTO_DEF) $(ENDIAN_FLAG)
ar_SOURCES = \
append.c \
ar.c \
archive.c \
contents.c \
delete.c \
extract.c \
misc.c \
move.c \
print.c \
replace.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ar/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ar/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
ar$(EXEEXT): $(ar_OBJECTS) $(ar_DEPENDENCIES) $(EXTRA_ar_DEPENDENCIES)
@rm -f ar$(EXEEXT)
$(AM_V_CCLD)$(ar_LINK) $(ar_OBJECTS) $(ar_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
ar-append.o: append.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-append.o `test -f 'append.c' || echo '$(srcdir)/'`append.c
ar-append.obj: append.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-append.obj `if test -f 'append.c'; then $(CYGPATH_W) 'append.c'; else $(CYGPATH_W) '$(srcdir)/append.c'; fi`
ar-ar.o: ar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-ar.o `test -f 'ar.c' || echo '$(srcdir)/'`ar.c
ar-ar.obj: ar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-ar.obj `if test -f 'ar.c'; then $(CYGPATH_W) 'ar.c'; else $(CYGPATH_W) '$(srcdir)/ar.c'; fi`
ar-archive.o: archive.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-archive.o `test -f 'archive.c' || echo '$(srcdir)/'`archive.c
ar-archive.obj: archive.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-archive.obj `if test -f 'archive.c'; then $(CYGPATH_W) 'archive.c'; else $(CYGPATH_W) '$(srcdir)/archive.c'; fi`
ar-contents.o: contents.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-contents.o `test -f 'contents.c' || echo '$(srcdir)/'`contents.c
ar-contents.obj: contents.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-contents.obj `if test -f 'contents.c'; then $(CYGPATH_W) 'contents.c'; else $(CYGPATH_W) '$(srcdir)/contents.c'; fi`
ar-delete.o: delete.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-delete.o `test -f 'delete.c' || echo '$(srcdir)/'`delete.c
ar-delete.obj: delete.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-delete.obj `if test -f 'delete.c'; then $(CYGPATH_W) 'delete.c'; else $(CYGPATH_W) '$(srcdir)/delete.c'; fi`
ar-extract.o: extract.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-extract.o `test -f 'extract.c' || echo '$(srcdir)/'`extract.c
ar-extract.obj: extract.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-extract.obj `if test -f 'extract.c'; then $(CYGPATH_W) 'extract.c'; else $(CYGPATH_W) '$(srcdir)/extract.c'; fi`
ar-misc.o: misc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c
ar-misc.obj: misc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi`
ar-move.o: move.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-move.o `test -f 'move.c' || echo '$(srcdir)/'`move.c
ar-move.obj: move.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-move.obj `if test -f 'move.c'; then $(CYGPATH_W) 'move.c'; else $(CYGPATH_W) '$(srcdir)/move.c'; fi`
ar-print.o: print.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-print.o `test -f 'print.c' || echo '$(srcdir)/'`print.c
ar-print.obj: print.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-print.obj `if test -f 'print.c'; then $(CYGPATH_W) 'print.c'; else $(CYGPATH_W) '$(srcdir)/print.c'; fi`
ar-replace.o: replace.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-replace.o `test -f 'replace.c' || echo '$(srcdir)/'`replace.c
ar-replace.obj: replace.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ar_CFLAGS) $(CFLAGS) -c -o ar-replace.obj `if test -f 'replace.c'; then $(CYGPATH_W) 'replace.c'; else $(CYGPATH_W) '$(srcdir)/replace.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -103,12 +103,13 @@ main(argc, argv)
int argc;
char **argv;
{
int c, retval, verbose, run_ranlib;
int c, retval, verbose, run_ranlib, toc64;
char *p;
int (*fcall) __P((char **));
fcall = 0;
verbose = 0;
toc64 = 0;
progname = argv[0];
run_ranlib = 1;
@ -133,7 +134,7 @@ main(argc, argv)
* extended format #1. The new option -L allows ar to use the extended
* format and the old -T option causes the truncation of names.
*/
while ((c = getopt(argc, argv, "abcdilLmopqrSsTtuVvx")) != -1) {
while ((c = getopt(argc, argv, "abcdilLmopqrSsTtuVvx6")) != -1) {
switch(c) {
case 'a':
options |= AR_A;
@ -194,6 +195,9 @@ main(argc, argv)
case 'V':
verbose = 1;
break;
case '6':
toc64 = 1;
break;
case 'v':
options |= AR_V;
break;
@ -281,6 +285,8 @@ main(argc, argv)
add_execute_list("-f");
else
add_execute_list("-q");
if(toc64)
add_execute_list("-toc64");
add_execute_list(archive);
if(execute_list(verbose) == 0){
(void)fprintf(stderr, "%s: internal ranlib command failed\n",

View File

@ -78,6 +78,7 @@ static char rcsid[] = "$NetBSD: archive.c,v 1.7 1995/03/26 03:27:46 glass Exp $"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include <unistd.h>
#include <mach-o/fat.h>
@ -90,6 +91,10 @@ static char hb[sizeof(HDR) + 1]; /* real header */
int archive_opened_for_writing = 0;
#ifndef DEFFILEMODE
#define DEFFILEMODE S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH
#endif
int
open_archive(mode)
int mode;
@ -234,8 +239,9 @@ get_arobj(fd)
int fd;
{
struct ar_hdr *hdr;
int len, nr;
size_t len, nr;
char *p, buf[20];
long longval;
nr = read(fd, hb, sizeof(HDR));
if (nr != sizeof(HDR)) {
@ -255,8 +261,10 @@ get_arobj(fd)
#define OCTAL 8
AR_ATOI(hdr->ar_date, chdr.date, sizeof(hdr->ar_date), DECIMAL);
AR_ATOI(hdr->ar_uid, chdr.uid, sizeof(hdr->ar_uid), DECIMAL);
AR_ATOI(hdr->ar_gid, chdr.gid, sizeof(hdr->ar_gid), DECIMAL);
AR_ATOI(hdr->ar_uid, longval, sizeof(hdr->ar_uid), DECIMAL);
chdr.uid = (uid_t)longval;
AR_ATOI(hdr->ar_gid, longval, sizeof(hdr->ar_gid), DECIMAL);
chdr.gid = (gid_t)longval;
AR_ATOI(hdr->ar_mode, chdr.mode, sizeof(hdr->ar_mode), OCTAL);
AR_ATOI(hdr->ar_size, chdr.size, sizeof(hdr->ar_size), DECIMAL);
@ -291,7 +299,7 @@ get_arobj(fd)
return (1);
}
static int already_written;
static size_t already_written;
/*
* put_arobj --
@ -302,7 +310,7 @@ put_arobj(cfp, sb)
CF *cfp;
struct stat *sb;
{
unsigned int lname;
size_t lname;
char *name;
struct ar_hdr *hdr;
off_t size;
@ -348,7 +356,8 @@ put_arobj(cfp, sb)
sb->st_mode, (int64_t)sb->st_size, ARFMAG);
lname = 0;
} else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
(void)sprintf(hb, HDR1, AR_EFMT1, (lname + 3) & ~3,
(void)sprintf(hb, HDR1, AR_EFMT1,
(int)((lname + 3) & ~3),
(long int)tv_sec,
(unsigned int)(u_short)sb->st_uid,
(unsigned int)(u_short)sb->st_gid,
@ -370,6 +379,15 @@ put_arobj(cfp, sb)
size = chdr.size;
}
/* cctools-port */
if (strlen(hb) != sizeof(HDR)) {
fprintf(stderr, "ar is not working correctly. "
"Please report this issue to the cctools-port "
"project. Thank you.\n");
exit(1);
}
/* cctools-port end */
if (write(cfp->wfd, hb, sizeof(HDR)) != sizeof(HDR))
error(cfp->wname);
/*
@ -378,13 +396,13 @@ put_arobj(cfp, sb)
* which is required for object files in archives.
*/
if (lname) {
if (write(cfp->wfd, name, lname) != (int)lname)
if (write(cfp->wfd, name, lname) != (ssize_t)lname)
error(cfp->wname);
already_written = lname;
if ((lname % 4) != 0) {
static char pad[3] = "\0\0\0";
if (write(cfp->wfd, pad, 4-(lname%4)) !=
(int)(4-(lname%4)))
(ssize_t)(4-(lname%4)))
error(cfp->wname);
already_written += 4 - (lname % 4);
}
@ -414,7 +432,8 @@ copy_ar(cfp, size)
{
static char pad = '\n';
off_t sz;
int from, nr, nw, off, to;
ssize_t nr, nw;
int from, off, to;
char buf[8*1024];
nr = 0;

View File

@ -61,6 +61,8 @@
* @(#)archive.h 8.3 (Berkeley) 4/2/94
*/
#include <sys/types.h>
/* Ar(1) options. */
#define AR_A 0x0001
#define AR_B 0x0002
@ -111,12 +113,18 @@ typedef struct {
char name[MAXNAMLEN + 1]; /* name */
} CHDR;
/*
* cctools-port:
* Replaced 'qd' with 'lld' in format strings
* https://github.com/tpoechtrager/osxcross/issues/216#issuecomment-599044727
* */
/* Header format strings. */
#define HDR1 "%s%-13d%-12ld%-6u%-6u%-8o%-10qd%2s"
#define HDR2 "%-16.16s%-12ld%-6u%-6u%-8o%-10qd%2s"
#define HDR1 "%s%-13d%-12ld%-6u%-6u%-8o%-10lld%2s"
#define HDR2 "%-16.16s%-12ld%-6u%-6u%-8o%-10lld%2s"
#define OLDARMAXNAME 15
#define HDR3 "%-16.15s%-12ld%-6u%-6u%-8o%-10qd%2s"
#define HDR3 "%-16.15s%-12ld%-6u%-6u%-8o%-10lld%2s"
#include <sys/cdefs.h>

View File

@ -81,9 +81,7 @@ static char rcsid[] = "$OpenBSD: contents.c,v 1.2 1996/06/26 05:31:19 deraadt Ex
#include "archive.h"
#include "extern.h"
#ifndef HAVE_STRMODE /* cctools-port */
extern void strmode(int mode, char *p);
#endif
#include "stuff/port.h" /* cctools-port: strmode */
/*
* contents --
@ -107,7 +105,8 @@ contents(argv)
goto next;
if (options & AR_V) {
(void)strmode(chdr.mode, buf);
(void)printf("%s %6d/%-6d %8qd ",
/* cctools-port: replaced 'qd' with 'lld' in format string */
(void)printf("%s %6d/%-6d %8lld ",
buf + 1, chdr.uid, chdr.gid, chdr.size);
tp = localtime(&chdr.date);
(void)strftime(buf, sizeof(buf), "%b %e %H:%M %Y", tp);

775
cctools/as/Makefile.in Normal file
View File

@ -0,0 +1,775 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = as$(EXEEXT)
subdir = as
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_as_OBJECTS = as-driver.$(OBJEXT)
as_OBJECTS = $(am_as_OBJECTS)
as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(as_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(as_SOURCES)
DIST_SOURCES = $(as_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in COPYING
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = arm i386 x86_64 ppc ppc64
as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 $(ENDIAN_FLAG)
as_SOURCES = driver.c
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES)
@rm -f as$(EXEEXT)
$(AM_V_CCLD)$(as_LINK) $(as_OBJECTS) $(as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
as-driver.o: driver.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(as_CFLAGS) $(CFLAGS) -c -o as-driver.o `test -f 'driver.c' || echo '$(srcdir)/'`driver.c
as-driver.obj: driver.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(as_CFLAGS) $(CFLAGS) -c -o as-driver.obj `if test -f 'driver.c'; then $(CYGPATH_W) 'driver.c'; else $(CYGPATH_W) '$(srcdir)/driver.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(PROGRAMS)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-binPROGRAMS clean-generic clean-libtool \
cscopelist-am ctags ctags-am distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-binPROGRAMS
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -517,7 +517,7 @@ FILE *fp)
}
int
do_scrub_next_char_from_string()
do_scrub_next_char_from_string(void)
{
/* State 0: beginning of normal line
1: After first whitespace on normal line (flush more white)

View File

@ -8,7 +8,7 @@ extern void do_scrub_begin(
void);
extern int do_scrub_next_char(
FILE *fp);
extern int do_scrub_next_char_from_string();
extern int do_scrub_next_char_from_string(void);
/*
* typedefs and routines to save scrub context so .include can make recursive

View File

@ -3,6 +3,7 @@
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include <mach-o/arm/reloc.h>
#include "as.h"
#include "flonum.h"
@ -1023,7 +1024,7 @@ arm_reg_alt_syntax (char **ccp, char *start, struct reg_entry *reg,
case REG_TYPE_CP:
/* For backward compatibility, a bare number is valid here. */
{
uint32_t processor = strtoul (start, ccp, 10);
uint32_t processor = (uint32_t)strtoul(start, ccp, 10);
if (*ccp != start && processor <= 15)
return processor;
}
@ -1127,7 +1128,7 @@ parse_neon_type (struct neon_type *type, char **str)
else
{
parsesize:
thissize = strtoul (ptr, &ptr, 10);
thissize = (uint32_t)strtoul (ptr, &ptr, 10);
if (thissize != 8 && thissize != 16 && thissize != 32
&& thissize != 64)
@ -1448,7 +1449,7 @@ parse_reg_list (char ** strp)
cur_reg = reg;
}
while (skip_past_comma (&str) != FAIL
|| (in_range = 1, *str++ == '-'));
|| ((void)(in_range = 1), *str++ == '-'));
str--;
if (*str++ != '}')
@ -2175,7 +2176,7 @@ create_neon_reg_alias (char *newname, char *p)
}
}
namelen = nameend - newname;
namelen = (int)(nameend - newname);
namebuf = alloca (namelen + 1);
strncpy (namebuf, newname, namelen);
namebuf[namelen] = '\0';
@ -2957,7 +2958,7 @@ parse_immediate (char **str, int *val, int min, int max,
return FAIL;
}
*val = exp.X_add_number;
*val = (int)exp.X_add_number;
return SUCCESS;
}
@ -3338,7 +3339,7 @@ parse_shifter_operand (char **str, int i)
return FAIL;
}
value = expr.X_add_number;
value = (int)expr.X_add_number;
if (value < 0 || value > 30 || value % 2 != 0)
{
inst.error = _("invalid rotation");
@ -3453,7 +3454,7 @@ find_group_reloc_table_entry (char **str, struct group_reloc_table_entry **out)
unsigned int i;
for (i = 0; i < ARRAY_SIZE (group_reloc_table); i++)
{
int length = strlen (group_reloc_table[i].name);
size_t length = strlen (group_reloc_table[i].name);
if (strncasecmp (group_reloc_table[i].name, *str, length) == 0 &&
(*str)[length] == ':')
@ -3603,7 +3604,10 @@ parse_address_main (char **str, int i, int group_relocations,
inst.operands[i].preind = 1;
if (*p == '+') p++;
else if (*p == '-') p++, inst.operands[i].negative = 1;
else if (*p == '-') {
p++;
inst.operands[i].negative = 1;
}
if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) != FAIL)
{
@ -3626,7 +3630,7 @@ parse_address_main (char **str, int i, int group_relocations,
inst.error = _("alignment must be constant");
return PARSE_OPERAND_FAIL;
}
inst.operands[i].imm = exp.X_add_number << 8;
inst.operands[i].imm = (int)(exp.X_add_number << 8);
inst.operands[i].immisalign = 1;
/* Alignments are not pre-indexes. */
inst.operands[i].preind = 0;
@ -3739,7 +3743,10 @@ parse_address_main (char **str, int i, int group_relocations,
}
if (*p == '+') p++;
else if (*p == '-') p++, inst.operands[i].negative = 1;
else if (*p == '-') {
p++;
inst.operands[i].negative = 1;
}
if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) != FAIL)
{
@ -4457,7 +4464,7 @@ parse_operands (char *str, const unsigned char *pattern)
enum arm_reg_type rtype;
parse_operand_result result;
val = 0; /* cctools-port */
val = SUCCESS;
#define po_char_or_fail(chr) do { \
if (skip_past_char (&str, chr) == FAIL) \
@ -5408,7 +5415,8 @@ move_or_literal_pool (int i, bfd_boolean thumb_p, bfd_boolean mode_3)
}
else
{
int value = encode_arm_immediate (inst.reloc.exp.X_add_number);
int value = (int)encode_arm_immediate((unsigned int)
inst.reloc.exp.X_add_number);
if (value != FAIL)
{
/* This can be done with a mov instruction. */
@ -5418,7 +5426,8 @@ move_or_literal_pool (int i, bfd_boolean thumb_p, bfd_boolean mode_3)
return 1;
}
value = encode_arm_immediate (~inst.reloc.exp.X_add_number);
value = (int)encode_arm_immediate((unsigned int)
~inst.reloc.exp.X_add_number);
if (value != FAIL)
{
/* This can be done with a mvn instruction. */
@ -6078,7 +6087,7 @@ do_mov16 (void)
inst.instruction |= inst.operands[0].reg << 12;
if (inst.reloc.type == BFD_RELOC_UNUSED)
{
imm = inst.reloc.exp.X_add_number;
imm = (bfd_vma)inst.reloc.exp.X_add_number;
/* The value is in two pieces: 0:11, 16:19. */
inst.instruction |= (imm & 0x00000fff);
inst.instruction |= (imm & 0x0000f000) << 4;
@ -7208,7 +7217,7 @@ do_xsc_mra (void)
static void
encode_thumb32_shifted_operand (int i)
{
unsigned int value = inst.reloc.exp.X_add_number;
unsigned int value = (unsigned int)inst.reloc.exp.X_add_number;
unsigned int shift = inst.operands[i].shift_kind;
constraint (inst.operands[i].immisreg,
@ -7513,8 +7522,8 @@ do_t_add_sub (void)
constraint (inst.reloc.exp.X_add_number < 0
|| inst.reloc.exp.X_add_number > 0xff,
_("immediate value out of range"));
inst.instruction = T2_SUBS_PC_LR
| inst.reloc.exp.X_add_number;
inst.instruction = (uint32_t)(T2_SUBS_PC_LR
| inst.reloc.exp.X_add_number);
inst.reloc.type = BFD_RELOC_UNUSED;
return;
}
@ -8785,7 +8794,7 @@ do_t_mov16 (void)
inst.instruction |= inst.operands[0].reg << 8;
if (inst.reloc.type == BFD_RELOC_UNUSED)
{
imm = inst.reloc.exp.X_add_number;
imm = (bfd_vma)inst.reloc.exp.X_add_number;
inst.instruction |= (imm & 0xf000) << 4;
inst.instruction |= (imm & 0x0800) << 15;
inst.instruction |= (imm & 0x0700) << 4;
@ -9071,7 +9080,7 @@ do_t_pkhbt (void)
inst.instruction |= inst.operands[2].reg;
if (inst.operands[3].present)
{
unsigned int val = inst.reloc.exp.X_add_number;
signed_expr_t val = inst.reloc.exp.X_add_number;
constraint (inst.reloc.exp.X_op != O_constant,
_("expression too complex"));
inst.instruction |= (val & 0x1c) << 10;
@ -9373,7 +9382,7 @@ do_t_simd (void)
static void
do_t_smc (void)
{
unsigned int value = inst.reloc.exp.X_add_number;
unsigned int value = (unsigned int)inst.reloc.exp.X_add_number;
constraint (inst.reloc.exp.X_op != O_constant,
_("expression too complex"));
inst.reloc.type = BFD_RELOC_UNUSED;
@ -13098,7 +13107,7 @@ fix_new_arm (fragS * frag,
size,
exp->X_add_symbol,
exp->X_subtract_symbol,
exp->X_add_number,
(signed_target_addr_t)exp->X_add_number,
pc_rel,
pcrel_reloc,
reloc);
@ -13120,7 +13129,7 @@ output_relax_insn (void)
{
char * to;
symbolS *sym;
int offset;
int32_t offset;
/* The size of the instruction is unknown, so tie the debug info to the
start of the instruction. */
@ -13130,11 +13139,11 @@ output_relax_insn (void)
{
case O_symbol:
sym = inst.reloc.exp.X_add_symbol;
offset = inst.reloc.exp.X_add_number;
offset = (int32_t)inst.reloc.exp.X_add_number;
break;
case O_constant:
sym = NULL;
offset = inst.reloc.exp.X_add_number;
offset = (int32_t)inst.reloc.exp.X_add_number;
break;
default:
/* Avoid make_expr_symbol() if their is no subtract symbol and the
@ -13146,7 +13155,7 @@ output_relax_insn (void)
(inst.reloc.exp.X_add_symbol->sy_nlist.n_type & N_TYPE) == N_ABS) )
{
sym = inst.reloc.exp.X_add_symbol;
offset = inst.reloc.exp.X_add_number;
offset = (int32_t)inst.reloc.exp.X_add_number;
}
else
{
@ -13201,7 +13210,7 @@ output_inst (const char * str)
md_number_to_chars (to, inst.instruction, inst.size);
if (inst.reloc.type != BFD_RELOC_UNUSED)
fix_new_arm (frag_now, to - frag_now->fr_literal,
fix_new_arm (frag_now, (int)(to - frag_now->fr_literal),
inst.size, & inst.reloc.exp, inst.reloc.pc_rel,
/* HACK_GUESS */ inst.reloc.pcrel_reloc,
inst.reloc.type);
@ -13643,7 +13652,7 @@ md_assemble (char *str)
68 /* N_SLINE */,
text_nsect,
logical_input_line /* n_desc, line number */,
obstack_next_free(&frags) - frag_now->fr_literal,
(valueT)(obstack_next_free(&frags) - frag_now->fr_literal),
frag_now);
}
/*
@ -13749,7 +13758,7 @@ arm_data_in_code (void)
char *
arm_canonicalize_symbol_name (char * name)
{
int len;
size_t len;
if (thumb_mode && (len = strlen (name)) > 5
&& streq (name + len - 5, "/data"))
@ -16514,7 +16523,7 @@ md_pcrel_from_section (fixS * fixP, segT seg)
case BFD_RELOC_THUMB_PCREL_BRANCH23:
case BFD_RELOC_THUMB_PCREL_BRANCH25:
case BFD_RELOC_THUMB_PCREL_BLX:
return base + 4;
return (int32_t)base + 4;
/* ARM mode branches are offset by +8. However, the Windows CE
loader expects the relocation not to take this into account. */
@ -16537,7 +16546,7 @@ md_pcrel_from_section (fixS * fixP, segT seg)
return base + 8;
return base;
#else
return base + 8;
return (int32_t)base + 8;
#endif
/* ARM mode loads relative to PC are also offset by +8. Unlike
@ -16548,12 +16557,12 @@ md_pcrel_from_section (fixS * fixP, segT seg)
case BFD_RELOC_ARM_HWLITERAL:
case BFD_RELOC_ARM_LITERAL:
case BFD_RELOC_ARM_CP_OFF_IMM:
return base + 8;
return (int32_t)base + 8;
/* Other PC-relative relocations are un-offset. */
default:
return base;
return (int32_t)base;
}
}
@ -16835,8 +16844,8 @@ md_apply_fix (fixS * fixP,
valueT * valP,
segT seg)
{
offsetT value = * valP;
offsetT newval;
valueT value = * valP;
valueT newval;
unsigned int newimm;
uint32_t temp;
int sign;
@ -16958,10 +16967,12 @@ md_apply_fix (fixS * fixP,
case BFD_RELOC_ARM_OFFSET_IMM:
#ifdef NOTYET
if (!fixP->fx_done && seg->use_rela_p)
#else
if (!fixP->fx_done && 0)
#endif
value = 0;
#else
// The goggles do nothing!
// if (!fixP->fx_done && 0)
// value = 0;
#endif
case BFD_RELOC_ARM_LITERAL:
sign = value >= 0;
@ -17185,9 +17196,12 @@ md_apply_fix (fixS * fixP,
if (fixP->fx_r_type == BFD_RELOC_ARM_T32_IMMEDIATE
|| fixP->fx_r_type == BFD_RELOC_ARM_T32_ADD_IMM)
{
offsetT newoff;
newimm = encode_thumb32_immediate (value);
if (newimm == (unsigned int) FAIL)
newimm = thumb32_negate_data_op (&newval, value);
if (newimm == (unsigned int) FAIL) {
newimm = thumb32_negate_data_op (&newoff, value);
newval = (valueT)newoff;
}
}
if (fixP->fx_r_type != BFD_RELOC_ARM_T32_IMMEDIATE
&& newimm == (unsigned int) FAIL)
@ -18522,7 +18536,7 @@ int nsect)
case BFD_RELOC_ARM_ADRL_IMMEDIATE:
default:
{
valueT newval = val;
valueT newval = (valueT)val;
/* Die if we have more bytes than md_apply_fix3 knows how to
handle. */

848
cctools/as/arm/Makefile.in Normal file
View File

@ -0,0 +1,848 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
libexec_PROGRAMS = arm-as$(EXEEXT)
subdir = as/arm
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_arm_as_OBJECTS = ../arm_as-app.$(OBJEXT) ../arm_as-as.$(OBJEXT) \
../arm_as-atof-generic.$(OBJEXT) ../arm_as-atof-ieee.$(OBJEXT) \
../arm_as-expr.$(OBJEXT) ../arm_as-fixes.$(OBJEXT) \
../arm_as-flonum-const.$(OBJEXT) \
../arm_as-flonum-copy.$(OBJEXT) \
../arm_as-flonum-mult.$(OBJEXT) ../arm_as-frags.$(OBJEXT) \
../arm_as-hash.$(OBJEXT) ../arm_as-hex-value.$(OBJEXT) \
../arm_as-input-file.$(OBJEXT) ../arm_as-input-scrub.$(OBJEXT) \
../arm_as-layout.$(OBJEXT) ../arm_as-messages.$(OBJEXT) \
../arm_as-obstack.$(OBJEXT) ../arm_as-read.$(OBJEXT) \
../arm_as-sections.$(OBJEXT) ../arm_as-symbols.$(OBJEXT) \
../arm_as-write_object.$(OBJEXT) ../arm_as-xmalloc.$(OBJEXT) \
../arm_as-dwarf2dbg.$(OBJEXT) ../arm_as-arm.$(OBJEXT)
arm_as_OBJECTS = $(am_arm_as_OBJECTS)
arm_as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
arm_as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(arm_as_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(arm_as_SOURCES)
DIST_SOURCES = $(arm_as_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
arm_as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
arm_as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/as $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 -DARM $(ENDIAN_FLAG)
arm_as_SOURCES = ../app.c ../as.c ../atof-generic.c ../atof-ieee.c ../expr.c ../fixes.c ../flonum-const.c \
../flonum-copy.c ../flonum-mult.c ../frags.c ../hash.c ../hex-value.c ../input-file.c \
../input-scrub.c ../layout.c ../messages.c ../obstack.c ../read.c ../sections.c \
../symbols.c ../write_object.c ../xmalloc.c ../dwarf2dbg.c ../arm.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/arm/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/arm/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libexecPROGRAMS: $(libexec_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
} \
; done
uninstall-libexecPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
clean-libexecPROGRAMS:
@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
../$(am__dirstamp):
@$(MKDIR_P) ..
@: > ../$(am__dirstamp)
../arm_as-app.$(OBJEXT): ../$(am__dirstamp)
../arm_as-as.$(OBJEXT): ../$(am__dirstamp)
../arm_as-atof-generic.$(OBJEXT): ../$(am__dirstamp)
../arm_as-atof-ieee.$(OBJEXT): ../$(am__dirstamp)
../arm_as-expr.$(OBJEXT): ../$(am__dirstamp)
../arm_as-fixes.$(OBJEXT): ../$(am__dirstamp)
../arm_as-flonum-const.$(OBJEXT): ../$(am__dirstamp)
../arm_as-flonum-copy.$(OBJEXT): ../$(am__dirstamp)
../arm_as-flonum-mult.$(OBJEXT): ../$(am__dirstamp)
../arm_as-frags.$(OBJEXT): ../$(am__dirstamp)
../arm_as-hash.$(OBJEXT): ../$(am__dirstamp)
../arm_as-hex-value.$(OBJEXT): ../$(am__dirstamp)
../arm_as-input-file.$(OBJEXT): ../$(am__dirstamp)
../arm_as-input-scrub.$(OBJEXT): ../$(am__dirstamp)
../arm_as-layout.$(OBJEXT): ../$(am__dirstamp)
../arm_as-messages.$(OBJEXT): ../$(am__dirstamp)
../arm_as-obstack.$(OBJEXT): ../$(am__dirstamp)
../arm_as-read.$(OBJEXT): ../$(am__dirstamp)
../arm_as-sections.$(OBJEXT): ../$(am__dirstamp)
../arm_as-symbols.$(OBJEXT): ../$(am__dirstamp)
../arm_as-write_object.$(OBJEXT): ../$(am__dirstamp)
../arm_as-xmalloc.$(OBJEXT): ../$(am__dirstamp)
../arm_as-dwarf2dbg.$(OBJEXT): ../$(am__dirstamp)
../arm_as-arm.$(OBJEXT): ../$(am__dirstamp)
arm-as$(EXEEXT): $(arm_as_OBJECTS) $(arm_as_DEPENDENCIES) $(EXTRA_arm_as_DEPENDENCIES)
@rm -f arm-as$(EXEEXT)
$(AM_V_CCLD)$(arm_as_LINK) $(arm_as_OBJECTS) $(arm_as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f ../*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
../arm_as-app.o: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-app.o `test -f '../app.c' || echo '$(srcdir)/'`../app.c
../arm_as-app.obj: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-app.obj `if test -f '../app.c'; then $(CYGPATH_W) '../app.c'; else $(CYGPATH_W) '$(srcdir)/../app.c'; fi`
../arm_as-as.o: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-as.o `test -f '../as.c' || echo '$(srcdir)/'`../as.c
../arm_as-as.obj: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-as.obj `if test -f '../as.c'; then $(CYGPATH_W) '../as.c'; else $(CYGPATH_W) '$(srcdir)/../as.c'; fi`
../arm_as-atof-generic.o: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-atof-generic.o `test -f '../atof-generic.c' || echo '$(srcdir)/'`../atof-generic.c
../arm_as-atof-generic.obj: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-atof-generic.obj `if test -f '../atof-generic.c'; then $(CYGPATH_W) '../atof-generic.c'; else $(CYGPATH_W) '$(srcdir)/../atof-generic.c'; fi`
../arm_as-atof-ieee.o: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-atof-ieee.o `test -f '../atof-ieee.c' || echo '$(srcdir)/'`../atof-ieee.c
../arm_as-atof-ieee.obj: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-atof-ieee.obj `if test -f '../atof-ieee.c'; then $(CYGPATH_W) '../atof-ieee.c'; else $(CYGPATH_W) '$(srcdir)/../atof-ieee.c'; fi`
../arm_as-expr.o: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-expr.o `test -f '../expr.c' || echo '$(srcdir)/'`../expr.c
../arm_as-expr.obj: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-expr.obj `if test -f '../expr.c'; then $(CYGPATH_W) '../expr.c'; else $(CYGPATH_W) '$(srcdir)/../expr.c'; fi`
../arm_as-fixes.o: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-fixes.o `test -f '../fixes.c' || echo '$(srcdir)/'`../fixes.c
../arm_as-fixes.obj: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-fixes.obj `if test -f '../fixes.c'; then $(CYGPATH_W) '../fixes.c'; else $(CYGPATH_W) '$(srcdir)/../fixes.c'; fi`
../arm_as-flonum-const.o: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-const.o `test -f '../flonum-const.c' || echo '$(srcdir)/'`../flonum-const.c
../arm_as-flonum-const.obj: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-const.obj `if test -f '../flonum-const.c'; then $(CYGPATH_W) '../flonum-const.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-const.c'; fi`
../arm_as-flonum-copy.o: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-copy.o `test -f '../flonum-copy.c' || echo '$(srcdir)/'`../flonum-copy.c
../arm_as-flonum-copy.obj: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-copy.obj `if test -f '../flonum-copy.c'; then $(CYGPATH_W) '../flonum-copy.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-copy.c'; fi`
../arm_as-flonum-mult.o: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-mult.o `test -f '../flonum-mult.c' || echo '$(srcdir)/'`../flonum-mult.c
../arm_as-flonum-mult.obj: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-flonum-mult.obj `if test -f '../flonum-mult.c'; then $(CYGPATH_W) '../flonum-mult.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-mult.c'; fi`
../arm_as-frags.o: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-frags.o `test -f '../frags.c' || echo '$(srcdir)/'`../frags.c
../arm_as-frags.obj: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-frags.obj `if test -f '../frags.c'; then $(CYGPATH_W) '../frags.c'; else $(CYGPATH_W) '$(srcdir)/../frags.c'; fi`
../arm_as-hash.o: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-hash.o `test -f '../hash.c' || echo '$(srcdir)/'`../hash.c
../arm_as-hash.obj: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-hash.obj `if test -f '../hash.c'; then $(CYGPATH_W) '../hash.c'; else $(CYGPATH_W) '$(srcdir)/../hash.c'; fi`
../arm_as-hex-value.o: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-hex-value.o `test -f '../hex-value.c' || echo '$(srcdir)/'`../hex-value.c
../arm_as-hex-value.obj: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-hex-value.obj `if test -f '../hex-value.c'; then $(CYGPATH_W) '../hex-value.c'; else $(CYGPATH_W) '$(srcdir)/../hex-value.c'; fi`
../arm_as-input-file.o: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-input-file.o `test -f '../input-file.c' || echo '$(srcdir)/'`../input-file.c
../arm_as-input-file.obj: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-input-file.obj `if test -f '../input-file.c'; then $(CYGPATH_W) '../input-file.c'; else $(CYGPATH_W) '$(srcdir)/../input-file.c'; fi`
../arm_as-input-scrub.o: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-input-scrub.o `test -f '../input-scrub.c' || echo '$(srcdir)/'`../input-scrub.c
../arm_as-input-scrub.obj: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-input-scrub.obj `if test -f '../input-scrub.c'; then $(CYGPATH_W) '../input-scrub.c'; else $(CYGPATH_W) '$(srcdir)/../input-scrub.c'; fi`
../arm_as-layout.o: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-layout.o `test -f '../layout.c' || echo '$(srcdir)/'`../layout.c
../arm_as-layout.obj: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-layout.obj `if test -f '../layout.c'; then $(CYGPATH_W) '../layout.c'; else $(CYGPATH_W) '$(srcdir)/../layout.c'; fi`
../arm_as-messages.o: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-messages.o `test -f '../messages.c' || echo '$(srcdir)/'`../messages.c
../arm_as-messages.obj: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-messages.obj `if test -f '../messages.c'; then $(CYGPATH_W) '../messages.c'; else $(CYGPATH_W) '$(srcdir)/../messages.c'; fi`
../arm_as-obstack.o: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-obstack.o `test -f '../obstack.c' || echo '$(srcdir)/'`../obstack.c
../arm_as-obstack.obj: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-obstack.obj `if test -f '../obstack.c'; then $(CYGPATH_W) '../obstack.c'; else $(CYGPATH_W) '$(srcdir)/../obstack.c'; fi`
../arm_as-read.o: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-read.o `test -f '../read.c' || echo '$(srcdir)/'`../read.c
../arm_as-read.obj: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-read.obj `if test -f '../read.c'; then $(CYGPATH_W) '../read.c'; else $(CYGPATH_W) '$(srcdir)/../read.c'; fi`
../arm_as-sections.o: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-sections.o `test -f '../sections.c' || echo '$(srcdir)/'`../sections.c
../arm_as-sections.obj: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-sections.obj `if test -f '../sections.c'; then $(CYGPATH_W) '../sections.c'; else $(CYGPATH_W) '$(srcdir)/../sections.c'; fi`
../arm_as-symbols.o: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-symbols.o `test -f '../symbols.c' || echo '$(srcdir)/'`../symbols.c
../arm_as-symbols.obj: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-symbols.obj `if test -f '../symbols.c'; then $(CYGPATH_W) '../symbols.c'; else $(CYGPATH_W) '$(srcdir)/../symbols.c'; fi`
../arm_as-write_object.o: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-write_object.o `test -f '../write_object.c' || echo '$(srcdir)/'`../write_object.c
../arm_as-write_object.obj: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-write_object.obj `if test -f '../write_object.c'; then $(CYGPATH_W) '../write_object.c'; else $(CYGPATH_W) '$(srcdir)/../write_object.c'; fi`
../arm_as-xmalloc.o: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-xmalloc.o `test -f '../xmalloc.c' || echo '$(srcdir)/'`../xmalloc.c
../arm_as-xmalloc.obj: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-xmalloc.obj `if test -f '../xmalloc.c'; then $(CYGPATH_W) '../xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/../xmalloc.c'; fi`
../arm_as-dwarf2dbg.o: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-dwarf2dbg.o `test -f '../dwarf2dbg.c' || echo '$(srcdir)/'`../dwarf2dbg.c
../arm_as-dwarf2dbg.obj: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-dwarf2dbg.obj `if test -f '../dwarf2dbg.c'; then $(CYGPATH_W) '../dwarf2dbg.c'; else $(CYGPATH_W) '$(srcdir)/../dwarf2dbg.c'; fi`
../arm_as-arm.o: ../arm.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-arm.o `test -f '../arm.c' || echo '$(srcdir)/'`../arm.c
../arm_as-arm.obj: ../arm.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(arm_as_CFLAGS) $(CFLAGS) -c -o ../arm_as-arm.obj `if test -f '../arm.c'; then $(CYGPATH_W) '../arm.c'; else $(CYGPATH_W) '$(srcdir)/../arm.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libexecPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libexecPROGRAMS
.MAKE: install-am install-exec-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-hook install-html install-html-am \
install-info install-info-am install-libexecPROGRAMS \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-libexecPROGRAMS
.PRECIOUS: Makefile
install-exec-hook:
mkdir -p $(DESTDIR)$(libexecdir)/as/arm
mv $(DESTDIR)$(libexecdir)/*arm-as* $(DESTDIR)$(libexecdir)/as/arm/as
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -247,7 +247,7 @@ FLONUM_TYPE *address_of_generic_floating_point_number)
FLONUM_TYPE digits_flonum;
precision = (address_of_generic_floating_point_number -> high
precision = (int)(address_of_generic_floating_point_number -> high
- address_of_generic_floating_point_number -> low
+ 1
); /* Number of destination littlenums. */

View File

@ -315,12 +315,13 @@ int exponent_bits)
*/
bits_left_in_littlenum = LITTLENUM_NUMBER_OF_BITS;
littlenum_pointer = generic_floating_point_number.leader;
littlenums_left = 1+generic_floating_point_number.leader - generic_floating_point_number.low;
littlenums_left = (int)(1+generic_floating_point_number.leader - generic_floating_point_number.low);
/* Seek (and forget) 1st significant bit */
for (exponent_skippage = 0;! next_bits(1); exponent_skippage ++)
;
exponent_1 = generic_floating_point_number.exponent + generic_floating_point_number.leader + 1 -
generic_floating_point_number.low;
exponent_1 = (int32_t)(generic_floating_point_number.exponent +
generic_floating_point_number.leader + 1 -
generic_floating_point_number.low);
/* Radix LITTLENUM_RADIX, point just higher than generic_floating_point_number.leader. */
exponent_2 = exponent_1 * LITTLENUM_NUMBER_OF_BITS;
/* Radix 2. */

View File

@ -9,6 +9,7 @@
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include "libc.h"
#include <sys/file.h>
#include <mach/mach.h>
@ -16,12 +17,13 @@
#include "stuff/errors.h"
#include "stuff/execute.h"
#include "stuff/allocate.h"
#include "stuff/port.h" /* cctools-port: find_clang() */
#include <mach-o/dyld.h>
/* used by error calls (exported) */
char *progname = NULL;
char *find_clang(); /* cctools-port */
int
main(
@ -29,8 +31,8 @@ int argc,
char **argv,
char **envp)
{
const char *LIB = "../libexec/as/";
const char *LOCALLIB = "../local/libexec/as/";
const char *LIB = ASLIBEXECDIR;
const char *LOCALLIB = ASLIBEXECDIR;
const char *AS = "/as";
int i, j;
@ -241,6 +243,7 @@ char **envp)
(arch_flag.cputype == CPU_TYPE_X86_64 ||
arch_flag.cputype == CPU_TYPE_I386 ||
arch_flag.cputype == CPU_TYPE_ARM64 ||
arch_flag.cputype == CPU_TYPE_ARM64_32 ||
arch_flag.cputype == CPU_TYPE_ARM)){
qflag = TRUE;
}
@ -248,6 +251,7 @@ char **envp)
(arch_flag.cputype != CPU_TYPE_X86_64 &&
arch_flag.cputype != CPU_TYPE_I386 &&
arch_flag.cputype != CPU_TYPE_ARM64 &&
arch_flag.cputype != CPU_TYPE_ARM64_32 &&
arch_flag.cputype != CPU_TYPE_ARM)){
printf("%s: can't specifiy -q with -arch %s\n", progname,
arch_flag.name);
@ -264,9 +268,11 @@ char **envp)
* in the usual place as the other target assemblers this use of clang
* will be removed.
*/
if(arch_flag.cputype == CPU_TYPE_ARM64){
if(arch_flag.cputype == CPU_TYPE_ARM64 ||
arch_flag.cputype == CPU_TYPE_ARM64_32){
if(Qflag == TRUE){
printf("%s: can't specifiy -Q with -arch arm64\n", progname);
printf("%s: can't specifiy -Q with -arch %s\n", progname,
arch_flag.cputype == CPU_TYPE_ARM64 ? "arm64" : "arm64_32");
exit(1);
}
run_clang = 1;
@ -295,6 +301,7 @@ char **envp)
(arch_flag.cputype == CPU_TYPE_X86_64 ||
arch_flag.cputype == CPU_TYPE_I386 ||
arch_flag.cputype == CPU_TYPE_ARM64 ||
arch_flag.cputype == CPU_TYPE_ARM64_32 ||
arch_flag.cputype == CPU_TYPE_ARM)){
#if 0 /* cctools port */
as = makestr(prefix, CLANG, NULL);
@ -386,7 +393,7 @@ char **envp)
/*
* If this assembler exist try to run it else print an error message.
*/
as = makestr(prefix, LIB, arch_name, AS, NULL);
as = makestr(LIB, arch_name, AS, NULL);
new_argv = allocate((argc + 1) * sizeof(char *));
new_argv[0] = as;
j = 1;
@ -408,7 +415,7 @@ char **envp)
else
exit(1);
}
as_local = makestr(prefix, LOCALLIB, arch_name, AS, NULL);
as_local = makestr(LOCALLIB, arch_name, AS, NULL);
new_argv[0] = as_local;
if(access(as_local, F_OK) == 0){
argv[0] = as_local;
@ -422,7 +429,7 @@ char **envp)
arch_flags = get_arch_flags();
count = 0;
for(i = 0; arch_flags[i].name != NULL; i++){
as = makestr(prefix, LIB, arch_flags[i].name, AS, NULL);
as = makestr(LIB, arch_flags[i].name, AS, NULL);
if(access(as, F_OK) == 0){
if(count == 0)
printf("Installed assemblers are:\n");
@ -430,7 +437,7 @@ char **envp)
count++;
}
else{
as_local = makestr(prefix, LOCALLIB, arch_flags[i].name, AS,
as_local = makestr(LOCALLIB, arch_flags[i].name, AS,
NULL);
if(access(as_local, F_OK) == 0){
if(count == 0)

View File

@ -30,6 +30,7 @@
#include <stdlib.h>
#include <string.h>
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include <unistd.h>
#include <sys/param.h>
#include <libgen.h>
@ -227,8 +228,8 @@ static void out_opcode (int);
static void out_two (int);
static void out_four (int);
static void out_abbrev (int, int);
static void out_uleb128 (addressT);
static void out_sleb128 (addressT);
static void out_uleb128 (unsigned int);
static void out_sleb128 (int);
static offsetT get_frag_fix (fragS *, segT);
static void out_set_addr (symbolS *);
static int size_inc_line_addr (int, addressT);
@ -268,11 +269,11 @@ emit_expr (expressionS *exp, unsigned int nbytes)
p = frag_more ((int) nbytes);
fix_new(frag_now,
p - frag_now->fr_literal,
(int)(p - frag_now->fr_literal),
nbytes,
exp->X_add_symbol,
exp->X_subtract_symbol,
exp->X_add_number,
(signed_target_addr_t)exp->X_add_number,
0,
0,
0);
@ -392,7 +393,7 @@ dwarf2_gen_line_info (addressT ofs, struct dwarf2_line_info *loc)
line = loc->line;
filenum = loc->filenum;
sym = symbol_temp_new (now_seg, ofs, frag_now);
sym = symbol_temp_new (now_seg, (valueT)ofs, frag_now);
dwarf2_gen_line_info_1 (sym, loc);
}
@ -535,7 +536,8 @@ char *path)
static unsigned int
get_filenum (char *filename, unsigned int num)
{
static unsigned int last_used, last_used_dir_len;
static unsigned int last_used;
static size_t last_used_dir_len;
char *file;
size_t dir_len;
unsigned int i, dir;
@ -686,7 +688,7 @@ dwarf2_directive_file (uintptr_t dummy ATTRIBUTE_UNUSED)
return NULL;
}
get_filenum (filename, num);
get_filenum (filename, (unsigned int)num);
return filename;
}
@ -700,17 +702,17 @@ dwarf2_file (
char *filename,
offsetT num)
{
get_filenum (filename, num);
get_filenum (filename, (unsigned int)num);
}
void
dwarf2_directive_loc (uintptr_t dummy ATTRIBUTE_UNUSED)
{
offsetT filenum, line;
unsigned int filenum, line;
filenum = get_absolute_expression ();
filenum = (unsigned int)get_absolute_expression ();
SKIP_WHITESPACE ();
line = get_absolute_expression ();
line = (unsigned int)get_absolute_expression ();
if (filenum < 1)
{
@ -750,14 +752,14 @@ dwarf2_directive_loc (uintptr_t dummy ATTRIBUTE_UNUSED)
SKIP_WHITESPACE ();
if (ISDIGIT (*input_line_pointer))
{
current.column = get_absolute_expression ();
current.column = (unsigned int)get_absolute_expression ();
SKIP_WHITESPACE ();
}
while (ISALPHA (*input_line_pointer))
{
char *p, c;
offsetT value;
unsigned int value;
p = input_line_pointer;
c = get_symbol_end ();
@ -780,7 +782,7 @@ dwarf2_directive_loc (uintptr_t dummy ATTRIBUTE_UNUSED)
else if (strcmp (p, "is_stmt") == 0)
{
*input_line_pointer = c;
value = get_absolute_expression ();
value = (unsigned int)get_absolute_expression ();
if (value == 0)
current.flags &= ~DWARF2_FLAG_IS_STMT;
else if (value == 1)
@ -794,7 +796,7 @@ dwarf2_directive_loc (uintptr_t dummy ATTRIBUTE_UNUSED)
else if (strcmp (p, "isa") == 0)
{
*input_line_pointer = c;
value = get_absolute_expression ();
value = (unsigned int)get_absolute_expression ();
if (value >= 0)
current.isa = value;
else
@ -824,8 +826,8 @@ dwarf2_directive_loc (uintptr_t dummy ATTRIBUTE_UNUSED)
void
dwarf2_loc (offsetT filenum, offsetT line)
{
current.filenum = filenum;
current.line = line;
current.filenum = (unsigned int)filenum;
current.line = (unsigned int)line;
}
void
@ -899,7 +901,7 @@ out_four (int data)
/* Emit an unsigned "little-endian base 128" number. */
static void
out_uleb128 (addressT value)
out_uleb128 (unsigned int value)
{
output_leb128 (frag_more (sizeof_leb128 (value, 0)), value, 0);
}
@ -907,7 +909,7 @@ out_uleb128 (addressT value)
/* Emit a signed "little-endian base 128" number. */
static void
out_sleb128 (addressT value)
out_sleb128 (int value)
{
output_leb128 (frag_more (sizeof_leb128 (value, 1)), value, 1);
}
@ -1017,7 +1019,7 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
if (addr_delta == MAX_SPECIAL_ADDR_DELTA)
len = 1;
else
len = 1 + sizeof_leb128 (addr_delta, 0);
len = 1 + (int)sizeof_leb128((valueT)addr_delta, 0);
return len + 3;
}
@ -1040,18 +1042,18 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA)
{
/* Try using a special opcode. */
opcode = tmp + addr_delta * DWARF2_LINE_RANGE;
opcode = (unsigned int)(tmp + addr_delta * DWARF2_LINE_RANGE);
if (opcode <= 255)
return len + 1;
/* Try using DW_LNS_const_add_pc followed by special op. */
opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE;
opcode = (unsigned int)(tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE);
if (opcode <= 255)
return len + 2;
}
/* Otherwise use DW_LNS_advance_pc. */
len += 1 + sizeof_leb128 (addr_delta, 0);
len += 1 + (int)sizeof_leb128 ((valueT)addr_delta, 0);
/* DW_LNS_copy or special opcode. */
len += 1;
@ -1083,7 +1085,8 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
else
{
*p++ = DW_LNS_advance_pc;
p += output_leb128 (p, addr_delta, 0);
p +=
(int)output_leb128 (p, (valueT)addr_delta, 0);
}
*p++ = DW_LNS_extended_op;
@ -1122,7 +1125,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA)
{
/* Try using a special opcode. */
opcode = tmp + addr_delta * DWARF2_LINE_RANGE;
opcode = (unsigned int)(tmp + addr_delta * DWARF2_LINE_RANGE);
if (opcode <= 255)
{
*p++ = opcode;
@ -1130,7 +1133,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
}
/* Try using DW_LNS_const_add_pc followed by special op. */
opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE;
opcode = (unsigned int)(tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE);
if (opcode <= 255)
{
*p++ = DW_LNS_const_add_pc;
@ -1141,7 +1144,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
/* Otherwise use DW_LNS_advance_pc. */
*p++ = DW_LNS_advance_pc;
p += output_leb128 (p, addr_delta, 0);
p += (int)output_leb128 (p, (valueT)addr_delta, 0);
if (need_copy)
*p++ = DW_LNS_copy;
@ -1472,7 +1475,7 @@ process_entries (segT seg, struct line_entry *e)
out_inc_line_addr (INT_MAX, frag_ofs - last_frag_ofs);
else
{
lab = symbol_temp_new (seg, frag_ofs, frag);
lab = symbol_temp_new (seg, (valueT)frag_ofs, frag);
relax_inc_line_addr (INT_MAX, lab, last_lab);
}
@ -1492,7 +1495,7 @@ out_file_list (void)
for (i = 1; i < dirs_in_use; ++i)
{
size = strlen (dirs[i]) + 1;
cp = frag_more (size);
cp = frag_more ((int)size);
memcpy (cp, dirs[i], size);
}
/* Terminate it. */
@ -1509,7 +1512,7 @@ out_file_list (void)
}
size = strlen (files[i].filename) + 1;
cp = frag_more (size);
cp = frag_more ((int)size);
memcpy (cp, files[i].filename, size);
out_uleb128 (files[i].dir); /* directory number */
@ -1698,7 +1701,7 @@ struct frchain *ranges_section)
s->text_start = beg;
frag = last_frag_for_seg (s->seg);
end = symbol_temp_new (s->seg, get_frag_fix (frag, s->seg), frag);
end = symbol_temp_new (s->seg, (valueT)get_frag_fix (frag, s->seg), frag);
s->text_end = end;
memset(&expr, '\0', sizeof(expr));
@ -1752,7 +1755,7 @@ struct frchain *info_section)
section_set(aranges_section);
/* Length of the compilation unit. */
out_four (size - 4);
out_four ((int)size - 4);
/* Version. */
out_two (2);
@ -1786,7 +1789,7 @@ struct frchain *info_section)
s->text_start = beg;
frag = last_frag_for_seg (s->seg);
end = symbol_temp_new (s->seg, get_frag_fix (frag, s->seg), frag);
end = symbol_temp_new (s->seg, (valueT)get_frag_fix (frag, s->seg), frag);
s->text_end = end;
memset(&expr, '\0', sizeof(expr));
@ -1840,8 +1843,9 @@ struct frchain * abbrev_section)
{
if (DWARF2_FORMAT () == dwarf2_format_32bit)
out_abbrev (DW_AT_ranges, DW_FORM_data4);
else
out_abbrev (DW_AT_ranges, DW_FORM_data8);
// The goggles do nothing
// else
// out_abbrev (DW_AT_ranges, DW_FORM_data8);
}
out_abbrev (DW_AT_name, DW_FORM_string);
out_abbrev (DW_AT_comp_dir, DW_FORM_string);
@ -1989,12 +1993,12 @@ struct frchain *ranges_section)
abort ();
if (files[1].dir)
{
len = strlen (dirs[files[1].dir]);
len = (int)strlen (dirs[files[1].dir]);
p = frag_more (len + 1);
memcpy (p, dirs[files[1].dir], len);
INSERT_DIR_SEPARATOR (p, len);
}
len = strlen (files[1].filename) + 1;
len = (int)strlen (files[1].filename) + 1;
p = frag_more (len);
memcpy (p, files[1].filename, len);
@ -2004,13 +2008,13 @@ struct frchain *ranges_section)
#else
comp_dir = getcwd(xmalloc(MAXPATHLEN + 1), MAXPATHLEN + 1); /* cctools-port: getwd() -> getcwd() */
#endif
len = strlen (comp_dir) + 1;
len = (int)strlen (comp_dir) + 1;
p = frag_more (len);
memcpy (p, comp_dir, len);
if(apple_flags != NULL){
/* DW_AT_APPLE_flags */
len = strlen (apple_flags) + 1;
len = (int)strlen (apple_flags) + 1;
p = frag_more (len);
memcpy (p, apple_flags, len);
}
@ -2018,7 +2022,7 @@ struct frchain *ranges_section)
/* DW_AT_producer */
sprintf (producer, "%s %s, %s", APPLE_INC_VERSION, apple_version,
version_string);
len = strlen (producer) + 1;
len = (int)strlen (producer) + 1;
p = frag_more (len);
memcpy (p, producer, len);
@ -2049,7 +2053,7 @@ struct frchain *ranges_section)
out_uleb128 (2);
/* DW_AT_name */
len = strlen (subs->name) + 1;
len = (int)strlen (subs->name) + 1;
p = frag_more (len);
memcpy (p, subs->name, len);
@ -2091,7 +2095,7 @@ struct frchain *ranges_section)
{
n_sect = subs->symbol->sy_nlist.n_sect;
frag = last_frag_for_seg (n_sect);
end = symbol_temp_new (n_sect, get_frag_fix (frag, n_sect), frag);
end = symbol_temp_new (n_sect, (valueT)get_frag_fix(frag,n_sect),frag);
}
memset(&expr, '\0', sizeof(expr));
expr.X_op = O_symbol;

View File

@ -1365,7 +1365,7 @@ expressionS *expressionP) /* Deliver result here. */
while(!fail && frag != NULL &&
frag != add_symbol->sy_frag){
if(frag->fr_type == rs_align)
size = rnd(size + frag->fr_fix,
size = rnd32(size + frag->fr_fix,
1 << frag->fr_offset);
else if(frag->fr_type == rs_fill)
size += frag->fr_fix +

View File

@ -133,7 +133,7 @@ fix_new_exp (fragS *frag, /* Which frag? */
{
symbolS *add = NULL;
symbolS *sub = NULL;
offsetT off = 0;
signed_target_addr_t off = 0;
switch (exp->X_op)
{
@ -187,7 +187,7 @@ fix_new_exp (fragS *frag, /* Which frag? */
add = exp->X_add_symbol;
/* Fall through. */
case O_constant:
off = exp->X_add_number;
off = (signed_target_addr_t)exp->X_add_number;
break;
default:

View File

@ -25,8 +25,8 @@ flonum_copy(
FLONUM_TYPE *in,
FLONUM_TYPE *out)
{
int in_length; /* 0 origin */
int out_length; /* 0 origin */
long in_length; /* 0 origin */
long out_length; /* 0 origin */
out -> sign = in -> sign;
in_length = in -> leader - in -> low;
@ -61,14 +61,14 @@ FLONUM_TYPE *out)
}
else
{
int shorten; /* 1-origin. Number of littlenums we drop. */
long shorten; /* 1-origin. Number of littlenums we drop. */
shorten = in_length - out_length;
/* Assume out_length >= 0 ! */
memcpy((char *)(out->low), (char *)(in->low + shorten),
(int)((out_length + 1) * sizeof(LITTLENUM_TYPE)));
out -> leader = out -> high;
out -> exponent = in -> exponent + shorten;
out -> exponent = (int32_t)(in -> exponent + shorten);
}
} /* if any significant bits */
}

View File

@ -78,21 +78,21 @@ const_FLONUM_TYPE *a,
FLONUM_TYPE *b,
FLONUM_TYPE *product)
{
int size_of_a; /* 0 origin */
int size_of_b; /* 0 origin */
int size_of_product; /* 0 origin */
int size_of_sum; /* 0 origin */
int extra_product_positions;/* 1 origin */
long size_of_a; /* 0 origin */
long size_of_b; /* 0 origin */
long size_of_product; /* 0 origin */
long size_of_sum; /* 0 origin */
long extra_product_positions;/* 1 origin */
uint32_t work;
uint32_t carry;
int32_t exponent;
LITTLENUM_TYPE * q;
int32_t significant; /* TRUE when we emit a non-0 littlenum */
/* ForTran accent follows. */
int P; /* Scan product low-order -> high. */
int N; /* As in sum above. */
int A; /* Which [] of a? */
int B; /* Which [] of b? */
long P; /* Scan product low-order -> high. */
long N; /* As in sum above. */
long A; /* Which [] of a? */
long B; /* Which [] of b? */
if((a->sign!='-' && a->sign!='+') || (b->sign!='-' && b->sign!='+')) {
/* ...

View File

@ -18,6 +18,7 @@ along with GAS; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <string.h>
#include <stdint.h> /* cctools-port: for intptr_t */
#include "as.h"
#include "sections.h"
#include "obstack.h"
@ -67,7 +68,7 @@ unsigned int nchars)
}
if ((int)(obstack_room(&frags)) < nchars) {
unsigned int n,oldn;
int32_t oldc;
size_t oldc;
frag_wane (frag_now);
frag_new (0);
@ -113,14 +114,16 @@ int old_frags_var_max_size) /* Number of chars (already allocated on obstack
register frchainS * frchP;
int32_t tmp; /* JF */
if(frags.chunk_size == 0){
know(flagseen['n']);
as_fatal("with -n a section directive must be seen before assembly "
"can begin");
}
frag_now->fr_fix = (char *) (obstack_next_free (&frags)) -
(frag_now->fr_literal) - old_frags_var_max_size;
/* cctools-port: Added (intptr_t) cast to silence warning */
frag_now->fr_fix = (int)(intptr_t)((char *) (obstack_next_free (&frags)) -
(long)(frag_now->fr_literal) -
old_frags_var_max_size);
/* Fix up old frag's fr_fix. */
(void)obstack_finish (&frags);
@ -132,7 +135,7 @@ int old_frags_var_max_size) /* Number of chars (already allocated on obstack
former_last_fragP = frchP->frch_last;
know (former_last_fragP);
know (former_last_fragP == frag_now);
obstack_blank (&frags, SIZEOF_STRUCT_FRAG);
obstack_blank (&frags, (int)SIZEOF_STRUCT_FRAG);
/* We expect this will begin at a correct */
/* boundary for a struct. */
tmp=obstack_alignment_mask(&frags);

View File

@ -886,7 +886,7 @@ static void
set_code_flag (
uintptr_t value)
{
flag_code = value;
flag_code = (enum flag_code)value;
cpu_arch_flags &= ~(Cpu64 | CpuNo64);
cpu_arch_flags |= (flag_code == CODE_64BIT ? Cpu64 : CpuNo64);
#if NeXT_MOD
@ -908,7 +908,7 @@ static void
set_16bit_gcc_code_flag (
uintptr_t new_code_flag)
{
flag_code = new_code_flag;
flag_code = (enum flag_code)new_code_flag;
cpu_arch_flags &= ~(Cpu64 | CpuNo64);
cpu_arch_flags |= (flag_code == CODE_64BIT ? Cpu64 : CpuNo64);
stackop_size = LONG_MNEM_SUFFIX;
@ -941,7 +941,7 @@ uintptr_t syntax_flag)
}
demand_empty_rest_of_line ();
intel_syntax = syntax_flag;
intel_syntax = (int)syntax_flag;
if (ask_naked_reg == 0)
#ifdef NeXT_MOD
@ -1785,7 +1785,7 @@ md_assemble (line)
68 /* N_SLINE */,
text_nsect,
logical_input_line /* n_desc, line number */,
obstack_next_free(&frags) - frag_now->fr_literal,
(valueT)(obstack_next_free(&frags) - frag_now->fr_literal),
frag_now);
}
#endif /* NeXT_MOD */
@ -3444,13 +3444,13 @@ output_branch ()
}
p = frag_more (4);
#if ARCH64
fix_new (frag_now, p - frag_now->fr_literal, 4,
fix_new (frag_now, (int)(p - frag_now->fr_literal), 4,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 1, X86_64_RELOC_BRANCH);
#else
fix_new (frag_now, p - frag_now->fr_literal, 4,
fix_new (frag_now, (int)(p - frag_now->fr_literal), 4,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 1, 0);
(int)(i.op[0].disps->X_add_number), 1, 1, 0);
#endif
} else
#endif
@ -3488,11 +3488,12 @@ output_branch ()
#endif
#if !ARCH64
frag_var (rs_machine_dependent, 5, 1, subtype, sym, off, p);
frag_var (rs_machine_dependent, 5, 1, subtype, sym, (int)off, p);
#else
/* 1 possible extra opcode + 4 byte displacement go in var part.
Pass reloc in fr_var. */
frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p);
frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym,
(int)off, p);
#endif
}
}
@ -3559,23 +3560,23 @@ output_jump ()
!is_local_symbol(i.op[0].disps->X_add_symbol) ||
flagseen ['L']))
#if ARCH64
fixP = fix_new (frag_now, p - frag_now->fr_literal, size,
fixP = fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 1, X86_64_RELOC_BRANCH);
#else
fixP = fix_new (frag_now, p - frag_now->fr_literal, size,
fixP = fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 1, 0);
(int)i.op[0].disps->X_add_number, 1, 1, 0);
#endif
else
#if ARCH64
fixP = fix_new (frag_now, p - frag_now->fr_literal, size,
fixP = fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 0, X86_64_RELOC_BRANCH);
#else
fixP = fix_new (frag_now, p - frag_now->fr_literal, size,
fixP = fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[0].disps->X_add_symbol, i.op[0].disps->X_subtract_symbol,
i.op[0].disps->X_add_number, 1, 0, 0);
(int)i.op[0].disps->X_add_number, 1, 0, 0);
#endif
#else
fixP = fix_new_exp (frag_now, p - frag_now->fr_literal, size,
@ -3647,15 +3648,15 @@ output_interseg_jump ()
else {
#ifdef NeXT_MOD
#if ARCH64
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[1].imms->X_add_symbol,
i.op[1].imms->X_subtract_symbol,
i.op[1].imms->X_add_number, 0, 0, X86_64_RELOC_BRANCH);
#else
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[1].imms->X_add_symbol,
i.op[1].imms->X_subtract_symbol,
i.op[1].imms->X_add_number, 0, 0, 0);
(int)i.op[1].imms->X_add_number, 0, 0, 0);
#endif
#else
fix_new_exp (frag_now, p - frag_now->fr_literal, size,
@ -3903,9 +3904,9 @@ output_disp (insn_start_frag, insn_start_off)
p = frag_more (size);
#if !ARCH64
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].disps->X_add_symbol, i.op[n].disps->X_subtract_symbol,
i.op[n].disps->X_add_number, 0, 0, i.reloc[n]);
(int)i.op[n].disps->X_add_number, 0, 0, i.reloc[n]);
#else
#ifdef NeXT_MOD
/*
@ -3920,7 +3921,7 @@ output_disp (insn_start_frag, insn_start_off)
i.reloc[n] == NO_RELOC &&
i.op[n].disps->X_add_symbol != NULL &&
i.op[n].disps->X_subtract_symbol != NULL){
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].disps->X_add_symbol,
i.op[n].disps->X_subtract_symbol,
i.op[n].disps->X_add_number, pcrel, 0,
@ -3942,7 +3943,7 @@ output_disp (insn_start_frag, insn_start_off)
i.op[n].disps->X_add_symbol != NULL &&
i.op[n].disps->X_add_symbol->expression != NULL &&
i.op[n].disps->X_subtract_symbol == NULL){
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].disps->X_add_symbol, NULL,
i.op[n].disps->X_add_number, pcrel, 0,
X86_64_RELOC_UNSIGNED);
@ -3983,7 +3984,7 @@ output_disp (insn_start_frag, insn_start_off)
}
#endif
#ifdef NeXT_MOD
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].disps->X_add_symbol, i.op[n].disps->X_subtract_symbol,
i.op[n].disps->X_add_number, pcrel, 0, reloc_type);
#else
@ -4053,10 +4054,10 @@ output_imm (insn_start_frag, insn_start_off)
p = frag_more (size);
#if !ARCH64
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].imms->X_add_symbol,
i.op[n].imms->X_subtract_symbol,
i.op[n].imms->X_add_number, 0, 0, 0);
(int)i.op[n].imms->X_add_number, 0, 0, 0);
#else
#ifdef NeXT_MOD
/*
@ -4071,7 +4072,7 @@ output_imm (insn_start_frag, insn_start_off)
i.reloc[n] == NO_RELOC &&
i.op[n].imms->X_add_symbol != NULL &&
i.op[n].imms->X_subtract_symbol != NULL){
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].imms->X_add_symbol,
i.op[n].imms->X_subtract_symbol,
i.op[n].imms->X_add_number, 0, 0,
@ -4156,7 +4157,7 @@ output_imm (insn_start_frag, insn_start_off)
}
#endif
#ifdef NeXT_MOD
fix_new (frag_now, p - frag_now->fr_literal, size,
fix_new (frag_now, (int)(p - frag_now->fr_literal), size,
i.op[n].imms->X_add_symbol,
i.op[n].imms->X_subtract_symbol,
i.op[n].imms->X_add_number, 0, 0, reloc_type);
@ -4244,7 +4245,7 @@ lex_got (reloc, adjust)
{
int len;
len = strlen (gotrel[j].str);
len = (int)strlen (gotrel[j].str);
if (strncasecmp (cp + 1, gotrel[j].str, len) == 0)
{
if (gotrel[j].rel[(unsigned int) flag_code] != 0)
@ -4265,7 +4266,7 @@ lex_got (reloc, adjust)
errors like foo@GOTOFF1 will be detected. */
/* The length of the first part of our input line. */
first = cp - input_line_pointer;
first = (int)(cp - input_line_pointer);
/* The second part goes from after the reloc token until
(and including) an end_of_line char. Don't use strlen
@ -4277,7 +4278,7 @@ lex_got (reloc, adjust)
for (cp = past_reloc; !is_end_of_line[(unsigned char) *cp++]; )
#endif
;
second = cp - past_reloc;
second = (int)(cp - past_reloc);
/* Allocate and copy string. The trailing NUL shouldn't
be necessary, but be safe. */
@ -4819,7 +4820,7 @@ i386_operand (operand_string)
char *operand_string;
{
const reg_entry *r;
char *end_op;
char *end_op = NULL;
char *op_string = operand_string;
if (is_space_char (*op_string))
@ -5423,6 +5424,8 @@ int md_long_jump_size = 5;
/* Size of relocation record. */
const int md_reloc_size = 8;
void md_create_short_jump (char *ptr, addressT from_addr, addressT to_addr, fragS *, symbolS *to_symbol);
void
md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol)
char *ptr;
@ -5438,6 +5441,8 @@ md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol)
md_number_to_chars (ptr + 1, (valueT) offset, 1);
}
void md_create_long_jump (char *ptr, addressT from_addr, addressT to_addr, fragS *, symbolS *to_symbol);
void
md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol)
char *ptr;
@ -5878,6 +5883,8 @@ md_parse_option (c, arg)
return 1;
}
void md_show_usage (FILE *stream);
void
md_show_usage (stream)
FILE *stream;
@ -6004,6 +6011,8 @@ md_undefined_symbol (name)
/* Round up a section size to the appropriate boundary. */
valueT md_section_align (segT segment, valueT size);
valueT
md_section_align (segment, size)
segT segment ATTRIBUTE_UNUSED;
@ -6038,7 +6047,7 @@ md_pcrel_from (fixP)
#endif
fixS *fixP;
{
return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
return (int32_t)(fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address);
}
#ifndef I386COFF
@ -6176,7 +6185,7 @@ x86_64_fixup_symbol(fixS *fix, int nsect, symbolS **sym)
if (prev_symbol != NULL)
{
/* Replace sym and adjust offset. */
offset = (*sym)->sy_value - prev_symbol->sy_value;
offset = (int32_t)((*sym)->sy_value - prev_symbol->sy_value);
*sym = prev_symbol;
}
else if (fix->fx_pcrel)

849
cctools/as/i386/Makefile.in Normal file
View File

@ -0,0 +1,849 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
libexec_PROGRAMS = i386-as$(EXEEXT)
subdir = as/i386
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_i386_as_OBJECTS = ../i386_as-app.$(OBJEXT) ../i386_as-as.$(OBJEXT) \
../i386_as-atof-generic.$(OBJEXT) \
../i386_as-atof-ieee.$(OBJEXT) ../i386_as-expr.$(OBJEXT) \
../i386_as-fixes.$(OBJEXT) ../i386_as-flonum-const.$(OBJEXT) \
../i386_as-flonum-copy.$(OBJEXT) \
../i386_as-flonum-mult.$(OBJEXT) ../i386_as-frags.$(OBJEXT) \
../i386_as-hash.$(OBJEXT) ../i386_as-hex-value.$(OBJEXT) \
../i386_as-input-file.$(OBJEXT) \
../i386_as-input-scrub.$(OBJEXT) ../i386_as-layout.$(OBJEXT) \
../i386_as-messages.$(OBJEXT) ../i386_as-obstack.$(OBJEXT) \
../i386_as-read.$(OBJEXT) ../i386_as-sections.$(OBJEXT) \
../i386_as-symbols.$(OBJEXT) ../i386_as-write_object.$(OBJEXT) \
../i386_as-xmalloc.$(OBJEXT) ../i386_as-dwarf2dbg.$(OBJEXT) \
../i386_as-i386.$(OBJEXT)
i386_as_OBJECTS = $(am_i386_as_OBJECTS)
i386_as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
i386_as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(i386_as_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(i386_as_SOURCES)
DIST_SOURCES = $(i386_as_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
i386_as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
i386_as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/as $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 -DI386 -Di486 -Di586 -Di686 -UPPC $(ENDIAN_FLAG)
i386_as_SOURCES = ../app.c ../as.c ../atof-generic.c ../atof-ieee.c ../expr.c ../fixes.c ../flonum-const.c \
../flonum-copy.c ../flonum-mult.c ../frags.c ../hash.c ../hex-value.c ../input-file.c \
../input-scrub.c ../layout.c ../messages.c ../obstack.c ../read.c ../sections.c \
../symbols.c ../write_object.c ../xmalloc.c ../dwarf2dbg.c ../i386.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/i386/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/i386/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libexecPROGRAMS: $(libexec_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
} \
; done
uninstall-libexecPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
clean-libexecPROGRAMS:
@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
../$(am__dirstamp):
@$(MKDIR_P) ..
@: > ../$(am__dirstamp)
../i386_as-app.$(OBJEXT): ../$(am__dirstamp)
../i386_as-as.$(OBJEXT): ../$(am__dirstamp)
../i386_as-atof-generic.$(OBJEXT): ../$(am__dirstamp)
../i386_as-atof-ieee.$(OBJEXT): ../$(am__dirstamp)
../i386_as-expr.$(OBJEXT): ../$(am__dirstamp)
../i386_as-fixes.$(OBJEXT): ../$(am__dirstamp)
../i386_as-flonum-const.$(OBJEXT): ../$(am__dirstamp)
../i386_as-flonum-copy.$(OBJEXT): ../$(am__dirstamp)
../i386_as-flonum-mult.$(OBJEXT): ../$(am__dirstamp)
../i386_as-frags.$(OBJEXT): ../$(am__dirstamp)
../i386_as-hash.$(OBJEXT): ../$(am__dirstamp)
../i386_as-hex-value.$(OBJEXT): ../$(am__dirstamp)
../i386_as-input-file.$(OBJEXT): ../$(am__dirstamp)
../i386_as-input-scrub.$(OBJEXT): ../$(am__dirstamp)
../i386_as-layout.$(OBJEXT): ../$(am__dirstamp)
../i386_as-messages.$(OBJEXT): ../$(am__dirstamp)
../i386_as-obstack.$(OBJEXT): ../$(am__dirstamp)
../i386_as-read.$(OBJEXT): ../$(am__dirstamp)
../i386_as-sections.$(OBJEXT): ../$(am__dirstamp)
../i386_as-symbols.$(OBJEXT): ../$(am__dirstamp)
../i386_as-write_object.$(OBJEXT): ../$(am__dirstamp)
../i386_as-xmalloc.$(OBJEXT): ../$(am__dirstamp)
../i386_as-dwarf2dbg.$(OBJEXT): ../$(am__dirstamp)
../i386_as-i386.$(OBJEXT): ../$(am__dirstamp)
i386-as$(EXEEXT): $(i386_as_OBJECTS) $(i386_as_DEPENDENCIES) $(EXTRA_i386_as_DEPENDENCIES)
@rm -f i386-as$(EXEEXT)
$(AM_V_CCLD)$(i386_as_LINK) $(i386_as_OBJECTS) $(i386_as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f ../*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
../i386_as-app.o: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-app.o `test -f '../app.c' || echo '$(srcdir)/'`../app.c
../i386_as-app.obj: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-app.obj `if test -f '../app.c'; then $(CYGPATH_W) '../app.c'; else $(CYGPATH_W) '$(srcdir)/../app.c'; fi`
../i386_as-as.o: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-as.o `test -f '../as.c' || echo '$(srcdir)/'`../as.c
../i386_as-as.obj: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-as.obj `if test -f '../as.c'; then $(CYGPATH_W) '../as.c'; else $(CYGPATH_W) '$(srcdir)/../as.c'; fi`
../i386_as-atof-generic.o: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-atof-generic.o `test -f '../atof-generic.c' || echo '$(srcdir)/'`../atof-generic.c
../i386_as-atof-generic.obj: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-atof-generic.obj `if test -f '../atof-generic.c'; then $(CYGPATH_W) '../atof-generic.c'; else $(CYGPATH_W) '$(srcdir)/../atof-generic.c'; fi`
../i386_as-atof-ieee.o: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-atof-ieee.o `test -f '../atof-ieee.c' || echo '$(srcdir)/'`../atof-ieee.c
../i386_as-atof-ieee.obj: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-atof-ieee.obj `if test -f '../atof-ieee.c'; then $(CYGPATH_W) '../atof-ieee.c'; else $(CYGPATH_W) '$(srcdir)/../atof-ieee.c'; fi`
../i386_as-expr.o: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-expr.o `test -f '../expr.c' || echo '$(srcdir)/'`../expr.c
../i386_as-expr.obj: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-expr.obj `if test -f '../expr.c'; then $(CYGPATH_W) '../expr.c'; else $(CYGPATH_W) '$(srcdir)/../expr.c'; fi`
../i386_as-fixes.o: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-fixes.o `test -f '../fixes.c' || echo '$(srcdir)/'`../fixes.c
../i386_as-fixes.obj: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-fixes.obj `if test -f '../fixes.c'; then $(CYGPATH_W) '../fixes.c'; else $(CYGPATH_W) '$(srcdir)/../fixes.c'; fi`
../i386_as-flonum-const.o: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-const.o `test -f '../flonum-const.c' || echo '$(srcdir)/'`../flonum-const.c
../i386_as-flonum-const.obj: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-const.obj `if test -f '../flonum-const.c'; then $(CYGPATH_W) '../flonum-const.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-const.c'; fi`
../i386_as-flonum-copy.o: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-copy.o `test -f '../flonum-copy.c' || echo '$(srcdir)/'`../flonum-copy.c
../i386_as-flonum-copy.obj: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-copy.obj `if test -f '../flonum-copy.c'; then $(CYGPATH_W) '../flonum-copy.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-copy.c'; fi`
../i386_as-flonum-mult.o: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-mult.o `test -f '../flonum-mult.c' || echo '$(srcdir)/'`../flonum-mult.c
../i386_as-flonum-mult.obj: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-flonum-mult.obj `if test -f '../flonum-mult.c'; then $(CYGPATH_W) '../flonum-mult.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-mult.c'; fi`
../i386_as-frags.o: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-frags.o `test -f '../frags.c' || echo '$(srcdir)/'`../frags.c
../i386_as-frags.obj: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-frags.obj `if test -f '../frags.c'; then $(CYGPATH_W) '../frags.c'; else $(CYGPATH_W) '$(srcdir)/../frags.c'; fi`
../i386_as-hash.o: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-hash.o `test -f '../hash.c' || echo '$(srcdir)/'`../hash.c
../i386_as-hash.obj: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-hash.obj `if test -f '../hash.c'; then $(CYGPATH_W) '../hash.c'; else $(CYGPATH_W) '$(srcdir)/../hash.c'; fi`
../i386_as-hex-value.o: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-hex-value.o `test -f '../hex-value.c' || echo '$(srcdir)/'`../hex-value.c
../i386_as-hex-value.obj: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-hex-value.obj `if test -f '../hex-value.c'; then $(CYGPATH_W) '../hex-value.c'; else $(CYGPATH_W) '$(srcdir)/../hex-value.c'; fi`
../i386_as-input-file.o: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-input-file.o `test -f '../input-file.c' || echo '$(srcdir)/'`../input-file.c
../i386_as-input-file.obj: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-input-file.obj `if test -f '../input-file.c'; then $(CYGPATH_W) '../input-file.c'; else $(CYGPATH_W) '$(srcdir)/../input-file.c'; fi`
../i386_as-input-scrub.o: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-input-scrub.o `test -f '../input-scrub.c' || echo '$(srcdir)/'`../input-scrub.c
../i386_as-input-scrub.obj: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-input-scrub.obj `if test -f '../input-scrub.c'; then $(CYGPATH_W) '../input-scrub.c'; else $(CYGPATH_W) '$(srcdir)/../input-scrub.c'; fi`
../i386_as-layout.o: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-layout.o `test -f '../layout.c' || echo '$(srcdir)/'`../layout.c
../i386_as-layout.obj: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-layout.obj `if test -f '../layout.c'; then $(CYGPATH_W) '../layout.c'; else $(CYGPATH_W) '$(srcdir)/../layout.c'; fi`
../i386_as-messages.o: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-messages.o `test -f '../messages.c' || echo '$(srcdir)/'`../messages.c
../i386_as-messages.obj: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-messages.obj `if test -f '../messages.c'; then $(CYGPATH_W) '../messages.c'; else $(CYGPATH_W) '$(srcdir)/../messages.c'; fi`
../i386_as-obstack.o: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-obstack.o `test -f '../obstack.c' || echo '$(srcdir)/'`../obstack.c
../i386_as-obstack.obj: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-obstack.obj `if test -f '../obstack.c'; then $(CYGPATH_W) '../obstack.c'; else $(CYGPATH_W) '$(srcdir)/../obstack.c'; fi`
../i386_as-read.o: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-read.o `test -f '../read.c' || echo '$(srcdir)/'`../read.c
../i386_as-read.obj: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-read.obj `if test -f '../read.c'; then $(CYGPATH_W) '../read.c'; else $(CYGPATH_W) '$(srcdir)/../read.c'; fi`
../i386_as-sections.o: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-sections.o `test -f '../sections.c' || echo '$(srcdir)/'`../sections.c
../i386_as-sections.obj: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-sections.obj `if test -f '../sections.c'; then $(CYGPATH_W) '../sections.c'; else $(CYGPATH_W) '$(srcdir)/../sections.c'; fi`
../i386_as-symbols.o: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-symbols.o `test -f '../symbols.c' || echo '$(srcdir)/'`../symbols.c
../i386_as-symbols.obj: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-symbols.obj `if test -f '../symbols.c'; then $(CYGPATH_W) '../symbols.c'; else $(CYGPATH_W) '$(srcdir)/../symbols.c'; fi`
../i386_as-write_object.o: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-write_object.o `test -f '../write_object.c' || echo '$(srcdir)/'`../write_object.c
../i386_as-write_object.obj: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-write_object.obj `if test -f '../write_object.c'; then $(CYGPATH_W) '../write_object.c'; else $(CYGPATH_W) '$(srcdir)/../write_object.c'; fi`
../i386_as-xmalloc.o: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-xmalloc.o `test -f '../xmalloc.c' || echo '$(srcdir)/'`../xmalloc.c
../i386_as-xmalloc.obj: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-xmalloc.obj `if test -f '../xmalloc.c'; then $(CYGPATH_W) '../xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/../xmalloc.c'; fi`
../i386_as-dwarf2dbg.o: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-dwarf2dbg.o `test -f '../dwarf2dbg.c' || echo '$(srcdir)/'`../dwarf2dbg.c
../i386_as-dwarf2dbg.obj: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-dwarf2dbg.obj `if test -f '../dwarf2dbg.c'; then $(CYGPATH_W) '../dwarf2dbg.c'; else $(CYGPATH_W) '$(srcdir)/../dwarf2dbg.c'; fi`
../i386_as-i386.o: ../i386.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-i386.o `test -f '../i386.c' || echo '$(srcdir)/'`../i386.c
../i386_as-i386.obj: ../i386.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(i386_as_CFLAGS) $(CFLAGS) -c -o ../i386_as-i386.obj `if test -f '../i386.c'; then $(CYGPATH_W) '../i386.c'; else $(CYGPATH_W) '$(srcdir)/../i386.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libexecPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libexecPROGRAMS
.MAKE: install-am install-exec-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-hook install-html install-html-am \
install-info install-info-am install-libexecPROGRAMS \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-libexecPROGRAMS
.PRECIOUS: Makefile
install-exec-hook:
mkdir -p $(DESTDIR)$(libexecdir)/as/i386
mv $(DESTDIR)$(libexecdir)/*i386-as* $(DESTDIR)$(libexecdir)/as/i386/as
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -29,6 +29,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include <assert.h>
#include <libc.h>
#include "input-file.h"
@ -151,7 +152,7 @@ char *where, /* Where to place 1st character of new buffer. */
int *give_next_size)
{
char * return_value; /* -> Last char of what we read, + 1. */
register int size;
register size_t size;
*give_next_size = BUFFER_SIZE;
if (f_in == (FILE *)0)

View File

@ -141,7 +141,7 @@ char *filename)
if (filename[0])
{
char *p;
int len;
long len;
p = strrchr(filename, '/');
if (p != NULL && p[1] != '\0')
@ -197,7 +197,7 @@ get_more:
++ p;
if (p <= buffer_start + BEFORE_SIZE)
{
int new;
long new;
new = limit - (buffer_start + BEFORE_SIZE + partial_size);
partial_size += new;
@ -219,7 +219,7 @@ get_more:
goto get_more;
}
partial_where = p;
partial_size = limit - p;
partial_size = (int)(limit - p);
memcpy(save_source, partial_where, (int)AFTER_SIZE);
memcpy(partial_where, AFTER_STRING, (int)AFTER_SIZE);
}

View File

@ -117,8 +117,8 @@ void)
* If there is any current frag close it off.
*/
if(frag_now != NULL && frag_now->fr_fix == 0){
frag_now->fr_fix = obstack_next_free(&frags) -
frag_now->fr_literal;
frag_now->fr_fix = (int32_t)(obstack_next_free(&frags) -
frag_now->fr_literal);
frag_wane(frag_now);
}
@ -139,7 +139,7 @@ void)
/*
* Make a fresh frag for the last frag.
*/
frag_now = (fragS *)obstack_alloc(&frags, SIZEOF_STRUCT_FRAG);
frag_now = (fragS *)obstack_alloc(&frags, (int)SIZEOF_STRUCT_FRAG);
memset(frag_now, '\0', SIZEOF_STRUCT_FRAG);
frag_now->fr_next = NULL;
(void)obstack_finish(&frags);
@ -165,7 +165,7 @@ void)
{
struct frchain *frchainP;
fragS *fragP;
relax_addressT slide, tmp;
uint64_t slide, tmp;
symbolS *symbolP;
uint32_t nbytes, fill_size, repeat_expression, partial_bytes, layout_pass;
uint32_t section_type;
@ -179,8 +179,8 @@ void)
* If there is any current frag close it off.
*/
if(frag_now != NULL && frag_now->fr_fix == 0){
frag_now->fr_fix = obstack_next_free(&frags) -
frag_now->fr_literal;
frag_now->fr_fix = (int32_t)(obstack_next_free(&frags) -
frag_now->fr_literal);
frag_wane(frag_now);
}
@ -201,7 +201,7 @@ void)
/*
* Make a fresh frag for the last frag.
*/
frag_now = (fragS *)obstack_alloc(&frags, SIZEOF_STRUCT_FRAG);
frag_now = (fragS *)obstack_alloc(&frags, (int)SIZEOF_STRUCT_FRAG);
memset(frag_now, '\0', SIZEOF_STRUCT_FRAG);
frag_now->fr_next = NULL;
(void)obstack_finish(&frags);
@ -346,9 +346,9 @@ void)
* as the fill_size * repeat_expression + partial_bytes.
*/
know(fragP->fr_next != NULL);
nbytes = fragP->fr_next->fr_address -
nbytes = (uint32_t)(fragP->fr_next->fr_address -
fragP->fr_address -
fragP->fr_fix;
fragP->fr_fix);
if((int)nbytes < 0){
as_warn("rs_org invalid, dot past value by %d bytes",
nbytes);
@ -448,8 +448,8 @@ void)
value += expression->X_add_number;
}
else{
value = fragP->fr_symbol->sy_nlist.n_value +
fragP->fr_address;
value = (valueT)(fragP->fr_symbol->sy_nlist.n_value +
fragP->fr_address);
}
#endif
@ -901,7 +901,7 @@ down:
* a relocation entry if required.
*/
md_number_to_imm((unsigned char *)place, value, size, fixP, nsect);
fixP->fx_value = value;
fixP->fx_value = (int32_t)value;
/*
* If this is a non-lazy pointer section and this fix is for a
@ -1093,13 +1093,13 @@ int nsect)
int32_t aim;
#endif /* !defined(ARM) */
int32_t growth;
uint32_t was_address;
uint64_t growth;
relax_addressT was_address;
int32_t offset;
symbolS *symbolP;
int32_t target;
int32_t after;
uint32_t oldoff, newoff;
uint64_t after;
relax_addressT oldoff, newoff;
int ret;
ret = 0;
@ -1121,7 +1121,7 @@ int nsect)
break;
case rs_align:
offset = relax_align (address, (int) fragP->fr_offset);
offset = (int32_t)relax_align (address, (int) fragP->fr_offset);
/*
* If a maximum number of bytes to fill was specified for this
* align (stored in fr_subtype) then check to see if this align
@ -1182,9 +1182,9 @@ int nsect)
#ifdef ARM
fragP->relax_marker ^= 1;
#endif /* ARM */
was_address = fragP->fr_address;
was_address = (relax_addressT)fragP->fr_address;
fragP->fr_address += stretch;
address = fragP->fr_address;
address = (relax_addressT)fragP->fr_address;
symbolP = fragP->fr_symbol;
offset = fragP->fr_offset;
switch(fragP->fr_type){
@ -1258,7 +1258,7 @@ int nsect)
is_down_range(fragP, symbolP->sy_frag))
target += stretch;
}
aim = target - address - fragP->fr_fix;
aim = (int32_t)(target - address - fragP->fr_fix);
if(aim < 0){
/* Look backwards. */
for(next_state = this_type->rlx_more; next_state; ){
@ -1316,13 +1316,13 @@ int nsect)
value += expression->X_add_number;
}
else{
value = fragP->fr_symbol->sy_nlist.n_value +
fragP->fr_address;
value = (valueT)(fragP->fr_symbol->sy_nlist.n_value +
fragP->fr_address);
}
#endif
size = sizeof_leb128 (value, fragP->fr_subtype);
growth = size - fragP->fr_offset;
fragP->fr_offset = size;
fragP->fr_offset = (int32_t)size;
}
break;

View File

@ -236,5 +236,6 @@ const char *format,
void
sprint_value (char *buf, signed_expr_t val)
{
sprintf (buf, "%qd", val);
/* cctools-port: Replaced 'qd' with 'lld' in format string */
sprintf (buf, "%lld", val);
}

View File

@ -58,7 +58,7 @@ struct obstack *h,
int size,
int alignment,
void *(*chunkfun)(size_t n),
void (*freefun)() )
void (*freefun)(void*) )
{
register struct _obstack_chunk* chunk; /* points to new chunk */
@ -81,8 +81,8 @@ void (*freefun)() )
size = 4096 - extra;
}
h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
h->freefun = freefun;
h->chunkfun = (void* (*)(size_t))chunkfun;
h->freefun = (void (*)(void*))freefun;
h->chunk_size = size;
h->alignment_mask = alignment - 1;
@ -107,14 +107,14 @@ int length)
register struct _obstack_chunk* old_chunk = h->chunk;
register struct _obstack_chunk* new_chunk;
register int32_t new_size;
register int obj_size = h->next_free - h->object_base;
register int obj_size = (int)(h->next_free - h->object_base);
register int i;
int already;
/* Compute size for new chunk. */
new_size = (obj_size + length) + (obj_size >> 3) + 100;
if (new_size < h->chunk_size)
new_size = h->chunk_size;
new_size = (int32_t)h->chunk_size;
/* Allocate and initialize the new chunk. */
new_chunk = h->chunk = (*h->chunkfun) (new_size);
@ -145,7 +145,7 @@ int length)
h->next_free = h->object_base + obj_size;
}
#ifdef DEBUG
#ifdef DEBUG_DEAD_CODE
/* Return nonzero if object OBJ has been allocated from obstack H.
This is here for debugging.
If you use it in a program, you are probably losing. */
@ -187,7 +187,7 @@ POINTER obj)
while (lp != 0 && ((POINTER)lp >= obj || (POINTER)(lp)->limit < obj))
{
plp = lp -> prev;
(*h->freefun) (lp);
(*h->freefun)(lp);
lp = plp;
}
if (lp)

View File

@ -134,8 +134,8 @@ struct obstack /* control current object in current chunk */
char *chunk_limit; /* address of char after current chunk */
int temp; /* Temporary for some macros. */
int alignment_mask; /* Mask of alignment for each object. */
struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk. */
void (*freefun) (); /* User's function to free a chunk. */
void *(*chunkfun)(size_t); /* User's fcn to allocate a chunk.*/
void (*freefun)(void*); /* User's function to free a chunk. */
};
#ifdef __STDC__
@ -177,7 +177,8 @@ int obstack_alignment_mask (struct obstack *obstack);
int obstack_chunk_size (struct obstack *obstack);
void _obstack_begin (struct obstack *h, int size, int alignment,
void * (*chunkfun)(size_t n), void (*freefun)());
void * (*chunkfun)(size_t n),
void (*freefun)(void*));
void _obstack_newchunk (struct obstack *h, int length);
#endif /* __STDC__ */

848
cctools/as/ppc/Makefile.in Normal file
View File

@ -0,0 +1,848 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
libexec_PROGRAMS = ppc-as$(EXEEXT)
subdir = as/ppc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_ppc_as_OBJECTS = ../ppc_as-app.$(OBJEXT) ../ppc_as-as.$(OBJEXT) \
../ppc_as-atof-generic.$(OBJEXT) ../ppc_as-atof-ieee.$(OBJEXT) \
../ppc_as-expr.$(OBJEXT) ../ppc_as-fixes.$(OBJEXT) \
../ppc_as-flonum-const.$(OBJEXT) \
../ppc_as-flonum-copy.$(OBJEXT) \
../ppc_as-flonum-mult.$(OBJEXT) ../ppc_as-frags.$(OBJEXT) \
../ppc_as-hash.$(OBJEXT) ../ppc_as-hex-value.$(OBJEXT) \
../ppc_as-input-file.$(OBJEXT) ../ppc_as-input-scrub.$(OBJEXT) \
../ppc_as-layout.$(OBJEXT) ../ppc_as-messages.$(OBJEXT) \
../ppc_as-obstack.$(OBJEXT) ../ppc_as-read.$(OBJEXT) \
../ppc_as-sections.$(OBJEXT) ../ppc_as-symbols.$(OBJEXT) \
../ppc_as-write_object.$(OBJEXT) ../ppc_as-xmalloc.$(OBJEXT) \
../ppc_as-dwarf2dbg.$(OBJEXT) ../ppc_as-ppc.$(OBJEXT)
ppc_as_OBJECTS = $(am_ppc_as_OBJECTS)
ppc_as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
ppc_as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(ppc_as_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(ppc_as_SOURCES)
DIST_SOURCES = $(ppc_as_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ppc_as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
ppc_as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/as $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 -DPPC $(ENDIAN_FLAG)
ppc_as_SOURCES = ../app.c ../as.c ../atof-generic.c ../atof-ieee.c ../expr.c ../fixes.c ../flonum-const.c \
../flonum-copy.c ../flonum-mult.c ../frags.c ../hash.c ../hex-value.c ../input-file.c \
../input-scrub.c ../layout.c ../messages.c ../obstack.c ../read.c ../sections.c \
../symbols.c ../write_object.c ../xmalloc.c ../dwarf2dbg.c ../ppc.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/ppc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/ppc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libexecPROGRAMS: $(libexec_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
} \
; done
uninstall-libexecPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
clean-libexecPROGRAMS:
@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
../$(am__dirstamp):
@$(MKDIR_P) ..
@: > ../$(am__dirstamp)
../ppc_as-app.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-as.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-atof-generic.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-atof-ieee.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-expr.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-fixes.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-flonum-const.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-flonum-copy.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-flonum-mult.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-frags.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-hash.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-hex-value.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-input-file.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-input-scrub.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-layout.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-messages.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-obstack.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-read.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-sections.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-symbols.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-write_object.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-xmalloc.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-dwarf2dbg.$(OBJEXT): ../$(am__dirstamp)
../ppc_as-ppc.$(OBJEXT): ../$(am__dirstamp)
ppc-as$(EXEEXT): $(ppc_as_OBJECTS) $(ppc_as_DEPENDENCIES) $(EXTRA_ppc_as_DEPENDENCIES)
@rm -f ppc-as$(EXEEXT)
$(AM_V_CCLD)$(ppc_as_LINK) $(ppc_as_OBJECTS) $(ppc_as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f ../*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
../ppc_as-app.o: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-app.o `test -f '../app.c' || echo '$(srcdir)/'`../app.c
../ppc_as-app.obj: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-app.obj `if test -f '../app.c'; then $(CYGPATH_W) '../app.c'; else $(CYGPATH_W) '$(srcdir)/../app.c'; fi`
../ppc_as-as.o: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-as.o `test -f '../as.c' || echo '$(srcdir)/'`../as.c
../ppc_as-as.obj: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-as.obj `if test -f '../as.c'; then $(CYGPATH_W) '../as.c'; else $(CYGPATH_W) '$(srcdir)/../as.c'; fi`
../ppc_as-atof-generic.o: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-atof-generic.o `test -f '../atof-generic.c' || echo '$(srcdir)/'`../atof-generic.c
../ppc_as-atof-generic.obj: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-atof-generic.obj `if test -f '../atof-generic.c'; then $(CYGPATH_W) '../atof-generic.c'; else $(CYGPATH_W) '$(srcdir)/../atof-generic.c'; fi`
../ppc_as-atof-ieee.o: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-atof-ieee.o `test -f '../atof-ieee.c' || echo '$(srcdir)/'`../atof-ieee.c
../ppc_as-atof-ieee.obj: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-atof-ieee.obj `if test -f '../atof-ieee.c'; then $(CYGPATH_W) '../atof-ieee.c'; else $(CYGPATH_W) '$(srcdir)/../atof-ieee.c'; fi`
../ppc_as-expr.o: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-expr.o `test -f '../expr.c' || echo '$(srcdir)/'`../expr.c
../ppc_as-expr.obj: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-expr.obj `if test -f '../expr.c'; then $(CYGPATH_W) '../expr.c'; else $(CYGPATH_W) '$(srcdir)/../expr.c'; fi`
../ppc_as-fixes.o: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-fixes.o `test -f '../fixes.c' || echo '$(srcdir)/'`../fixes.c
../ppc_as-fixes.obj: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-fixes.obj `if test -f '../fixes.c'; then $(CYGPATH_W) '../fixes.c'; else $(CYGPATH_W) '$(srcdir)/../fixes.c'; fi`
../ppc_as-flonum-const.o: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-const.o `test -f '../flonum-const.c' || echo '$(srcdir)/'`../flonum-const.c
../ppc_as-flonum-const.obj: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-const.obj `if test -f '../flonum-const.c'; then $(CYGPATH_W) '../flonum-const.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-const.c'; fi`
../ppc_as-flonum-copy.o: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-copy.o `test -f '../flonum-copy.c' || echo '$(srcdir)/'`../flonum-copy.c
../ppc_as-flonum-copy.obj: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-copy.obj `if test -f '../flonum-copy.c'; then $(CYGPATH_W) '../flonum-copy.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-copy.c'; fi`
../ppc_as-flonum-mult.o: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-mult.o `test -f '../flonum-mult.c' || echo '$(srcdir)/'`../flonum-mult.c
../ppc_as-flonum-mult.obj: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-flonum-mult.obj `if test -f '../flonum-mult.c'; then $(CYGPATH_W) '../flonum-mult.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-mult.c'; fi`
../ppc_as-frags.o: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-frags.o `test -f '../frags.c' || echo '$(srcdir)/'`../frags.c
../ppc_as-frags.obj: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-frags.obj `if test -f '../frags.c'; then $(CYGPATH_W) '../frags.c'; else $(CYGPATH_W) '$(srcdir)/../frags.c'; fi`
../ppc_as-hash.o: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-hash.o `test -f '../hash.c' || echo '$(srcdir)/'`../hash.c
../ppc_as-hash.obj: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-hash.obj `if test -f '../hash.c'; then $(CYGPATH_W) '../hash.c'; else $(CYGPATH_W) '$(srcdir)/../hash.c'; fi`
../ppc_as-hex-value.o: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-hex-value.o `test -f '../hex-value.c' || echo '$(srcdir)/'`../hex-value.c
../ppc_as-hex-value.obj: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-hex-value.obj `if test -f '../hex-value.c'; then $(CYGPATH_W) '../hex-value.c'; else $(CYGPATH_W) '$(srcdir)/../hex-value.c'; fi`
../ppc_as-input-file.o: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-input-file.o `test -f '../input-file.c' || echo '$(srcdir)/'`../input-file.c
../ppc_as-input-file.obj: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-input-file.obj `if test -f '../input-file.c'; then $(CYGPATH_W) '../input-file.c'; else $(CYGPATH_W) '$(srcdir)/../input-file.c'; fi`
../ppc_as-input-scrub.o: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-input-scrub.o `test -f '../input-scrub.c' || echo '$(srcdir)/'`../input-scrub.c
../ppc_as-input-scrub.obj: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-input-scrub.obj `if test -f '../input-scrub.c'; then $(CYGPATH_W) '../input-scrub.c'; else $(CYGPATH_W) '$(srcdir)/../input-scrub.c'; fi`
../ppc_as-layout.o: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-layout.o `test -f '../layout.c' || echo '$(srcdir)/'`../layout.c
../ppc_as-layout.obj: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-layout.obj `if test -f '../layout.c'; then $(CYGPATH_W) '../layout.c'; else $(CYGPATH_W) '$(srcdir)/../layout.c'; fi`
../ppc_as-messages.o: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-messages.o `test -f '../messages.c' || echo '$(srcdir)/'`../messages.c
../ppc_as-messages.obj: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-messages.obj `if test -f '../messages.c'; then $(CYGPATH_W) '../messages.c'; else $(CYGPATH_W) '$(srcdir)/../messages.c'; fi`
../ppc_as-obstack.o: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-obstack.o `test -f '../obstack.c' || echo '$(srcdir)/'`../obstack.c
../ppc_as-obstack.obj: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-obstack.obj `if test -f '../obstack.c'; then $(CYGPATH_W) '../obstack.c'; else $(CYGPATH_W) '$(srcdir)/../obstack.c'; fi`
../ppc_as-read.o: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-read.o `test -f '../read.c' || echo '$(srcdir)/'`../read.c
../ppc_as-read.obj: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-read.obj `if test -f '../read.c'; then $(CYGPATH_W) '../read.c'; else $(CYGPATH_W) '$(srcdir)/../read.c'; fi`
../ppc_as-sections.o: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-sections.o `test -f '../sections.c' || echo '$(srcdir)/'`../sections.c
../ppc_as-sections.obj: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-sections.obj `if test -f '../sections.c'; then $(CYGPATH_W) '../sections.c'; else $(CYGPATH_W) '$(srcdir)/../sections.c'; fi`
../ppc_as-symbols.o: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-symbols.o `test -f '../symbols.c' || echo '$(srcdir)/'`../symbols.c
../ppc_as-symbols.obj: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-symbols.obj `if test -f '../symbols.c'; then $(CYGPATH_W) '../symbols.c'; else $(CYGPATH_W) '$(srcdir)/../symbols.c'; fi`
../ppc_as-write_object.o: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-write_object.o `test -f '../write_object.c' || echo '$(srcdir)/'`../write_object.c
../ppc_as-write_object.obj: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-write_object.obj `if test -f '../write_object.c'; then $(CYGPATH_W) '../write_object.c'; else $(CYGPATH_W) '$(srcdir)/../write_object.c'; fi`
../ppc_as-xmalloc.o: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-xmalloc.o `test -f '../xmalloc.c' || echo '$(srcdir)/'`../xmalloc.c
../ppc_as-xmalloc.obj: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-xmalloc.obj `if test -f '../xmalloc.c'; then $(CYGPATH_W) '../xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/../xmalloc.c'; fi`
../ppc_as-dwarf2dbg.o: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-dwarf2dbg.o `test -f '../dwarf2dbg.c' || echo '$(srcdir)/'`../dwarf2dbg.c
../ppc_as-dwarf2dbg.obj: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-dwarf2dbg.obj `if test -f '../dwarf2dbg.c'; then $(CYGPATH_W) '../dwarf2dbg.c'; else $(CYGPATH_W) '$(srcdir)/../dwarf2dbg.c'; fi`
../ppc_as-ppc.o: ../ppc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-ppc.o `test -f '../ppc.c' || echo '$(srcdir)/'`../ppc.c
../ppc_as-ppc.obj: ../ppc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc_as_CFLAGS) $(CFLAGS) -c -o ../ppc_as-ppc.obj `if test -f '../ppc.c'; then $(CYGPATH_W) '../ppc.c'; else $(CYGPATH_W) '$(srcdir)/../ppc.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libexecPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libexecPROGRAMS
.MAKE: install-am install-exec-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-hook install-html install-html-am \
install-info install-info-am install-libexecPROGRAMS \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-libexecPROGRAMS
.PRECIOUS: Makefile
install-exec-hook:
mkdir -p $(DESTDIR)$(libexecdir)/as/ppc
mv $(DESTDIR)$(libexecdir)/*ppc-as* $(DESTDIR)$(libexecdir)/as/ppc/as
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,851 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
libexec_PROGRAMS = ppc64-as$(EXEEXT)
subdir = as/ppc64
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_ppc64_as_OBJECTS = ../ppc64_as-app.$(OBJEXT) \
../ppc64_as-as.$(OBJEXT) ../ppc64_as-atof-generic.$(OBJEXT) \
../ppc64_as-atof-ieee.$(OBJEXT) ../ppc64_as-expr.$(OBJEXT) \
../ppc64_as-fixes.$(OBJEXT) ../ppc64_as-flonum-const.$(OBJEXT) \
../ppc64_as-flonum-copy.$(OBJEXT) \
../ppc64_as-flonum-mult.$(OBJEXT) ../ppc64_as-frags.$(OBJEXT) \
../ppc64_as-hash.$(OBJEXT) ../ppc64_as-hex-value.$(OBJEXT) \
../ppc64_as-input-file.$(OBJEXT) \
../ppc64_as-input-scrub.$(OBJEXT) ../ppc64_as-layout.$(OBJEXT) \
../ppc64_as-messages.$(OBJEXT) ../ppc64_as-obstack.$(OBJEXT) \
../ppc64_as-read.$(OBJEXT) ../ppc64_as-sections.$(OBJEXT) \
../ppc64_as-symbols.$(OBJEXT) \
../ppc64_as-write_object.$(OBJEXT) \
../ppc64_as-xmalloc.$(OBJEXT) ../ppc64_as-dwarf2dbg.$(OBJEXT) \
../ppc64_as-ppc.$(OBJEXT)
ppc64_as_OBJECTS = $(am_ppc64_as_OBJECTS)
ppc64_as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
ppc64_as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(ppc64_as_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(ppc64_as_SOURCES)
DIST_SOURCES = $(ppc64_as_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ppc64_as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
ppc64_as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/as $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 -DPPC -DARCH64 $(ENDIAN_FLAG)
ppc64_as_SOURCES = ../app.c ../as.c ../atof-generic.c ../atof-ieee.c ../expr.c ../fixes.c ../flonum-const.c \
../flonum-copy.c ../flonum-mult.c ../frags.c ../hash.c ../hex-value.c ../input-file.c \
../input-scrub.c ../layout.c ../messages.c ../obstack.c ../read.c ../sections.c \
../symbols.c ../write_object.c ../xmalloc.c ../dwarf2dbg.c ../ppc.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/ppc64/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/ppc64/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libexecPROGRAMS: $(libexec_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
} \
; done
uninstall-libexecPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
clean-libexecPROGRAMS:
@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
../$(am__dirstamp):
@$(MKDIR_P) ..
@: > ../$(am__dirstamp)
../ppc64_as-app.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-as.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-atof-generic.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-atof-ieee.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-expr.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-fixes.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-flonum-const.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-flonum-copy.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-flonum-mult.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-frags.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-hash.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-hex-value.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-input-file.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-input-scrub.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-layout.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-messages.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-obstack.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-read.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-sections.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-symbols.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-write_object.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-xmalloc.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-dwarf2dbg.$(OBJEXT): ../$(am__dirstamp)
../ppc64_as-ppc.$(OBJEXT): ../$(am__dirstamp)
ppc64-as$(EXEEXT): $(ppc64_as_OBJECTS) $(ppc64_as_DEPENDENCIES) $(EXTRA_ppc64_as_DEPENDENCIES)
@rm -f ppc64-as$(EXEEXT)
$(AM_V_CCLD)$(ppc64_as_LINK) $(ppc64_as_OBJECTS) $(ppc64_as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f ../*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
../ppc64_as-app.o: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-app.o `test -f '../app.c' || echo '$(srcdir)/'`../app.c
../ppc64_as-app.obj: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-app.obj `if test -f '../app.c'; then $(CYGPATH_W) '../app.c'; else $(CYGPATH_W) '$(srcdir)/../app.c'; fi`
../ppc64_as-as.o: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-as.o `test -f '../as.c' || echo '$(srcdir)/'`../as.c
../ppc64_as-as.obj: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-as.obj `if test -f '../as.c'; then $(CYGPATH_W) '../as.c'; else $(CYGPATH_W) '$(srcdir)/../as.c'; fi`
../ppc64_as-atof-generic.o: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-atof-generic.o `test -f '../atof-generic.c' || echo '$(srcdir)/'`../atof-generic.c
../ppc64_as-atof-generic.obj: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-atof-generic.obj `if test -f '../atof-generic.c'; then $(CYGPATH_W) '../atof-generic.c'; else $(CYGPATH_W) '$(srcdir)/../atof-generic.c'; fi`
../ppc64_as-atof-ieee.o: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-atof-ieee.o `test -f '../atof-ieee.c' || echo '$(srcdir)/'`../atof-ieee.c
../ppc64_as-atof-ieee.obj: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-atof-ieee.obj `if test -f '../atof-ieee.c'; then $(CYGPATH_W) '../atof-ieee.c'; else $(CYGPATH_W) '$(srcdir)/../atof-ieee.c'; fi`
../ppc64_as-expr.o: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-expr.o `test -f '../expr.c' || echo '$(srcdir)/'`../expr.c
../ppc64_as-expr.obj: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-expr.obj `if test -f '../expr.c'; then $(CYGPATH_W) '../expr.c'; else $(CYGPATH_W) '$(srcdir)/../expr.c'; fi`
../ppc64_as-fixes.o: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-fixes.o `test -f '../fixes.c' || echo '$(srcdir)/'`../fixes.c
../ppc64_as-fixes.obj: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-fixes.obj `if test -f '../fixes.c'; then $(CYGPATH_W) '../fixes.c'; else $(CYGPATH_W) '$(srcdir)/../fixes.c'; fi`
../ppc64_as-flonum-const.o: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-const.o `test -f '../flonum-const.c' || echo '$(srcdir)/'`../flonum-const.c
../ppc64_as-flonum-const.obj: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-const.obj `if test -f '../flonum-const.c'; then $(CYGPATH_W) '../flonum-const.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-const.c'; fi`
../ppc64_as-flonum-copy.o: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-copy.o `test -f '../flonum-copy.c' || echo '$(srcdir)/'`../flonum-copy.c
../ppc64_as-flonum-copy.obj: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-copy.obj `if test -f '../flonum-copy.c'; then $(CYGPATH_W) '../flonum-copy.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-copy.c'; fi`
../ppc64_as-flonum-mult.o: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-mult.o `test -f '../flonum-mult.c' || echo '$(srcdir)/'`../flonum-mult.c
../ppc64_as-flonum-mult.obj: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-flonum-mult.obj `if test -f '../flonum-mult.c'; then $(CYGPATH_W) '../flonum-mult.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-mult.c'; fi`
../ppc64_as-frags.o: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-frags.o `test -f '../frags.c' || echo '$(srcdir)/'`../frags.c
../ppc64_as-frags.obj: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-frags.obj `if test -f '../frags.c'; then $(CYGPATH_W) '../frags.c'; else $(CYGPATH_W) '$(srcdir)/../frags.c'; fi`
../ppc64_as-hash.o: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-hash.o `test -f '../hash.c' || echo '$(srcdir)/'`../hash.c
../ppc64_as-hash.obj: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-hash.obj `if test -f '../hash.c'; then $(CYGPATH_W) '../hash.c'; else $(CYGPATH_W) '$(srcdir)/../hash.c'; fi`
../ppc64_as-hex-value.o: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-hex-value.o `test -f '../hex-value.c' || echo '$(srcdir)/'`../hex-value.c
../ppc64_as-hex-value.obj: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-hex-value.obj `if test -f '../hex-value.c'; then $(CYGPATH_W) '../hex-value.c'; else $(CYGPATH_W) '$(srcdir)/../hex-value.c'; fi`
../ppc64_as-input-file.o: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-input-file.o `test -f '../input-file.c' || echo '$(srcdir)/'`../input-file.c
../ppc64_as-input-file.obj: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-input-file.obj `if test -f '../input-file.c'; then $(CYGPATH_W) '../input-file.c'; else $(CYGPATH_W) '$(srcdir)/../input-file.c'; fi`
../ppc64_as-input-scrub.o: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-input-scrub.o `test -f '../input-scrub.c' || echo '$(srcdir)/'`../input-scrub.c
../ppc64_as-input-scrub.obj: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-input-scrub.obj `if test -f '../input-scrub.c'; then $(CYGPATH_W) '../input-scrub.c'; else $(CYGPATH_W) '$(srcdir)/../input-scrub.c'; fi`
../ppc64_as-layout.o: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-layout.o `test -f '../layout.c' || echo '$(srcdir)/'`../layout.c
../ppc64_as-layout.obj: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-layout.obj `if test -f '../layout.c'; then $(CYGPATH_W) '../layout.c'; else $(CYGPATH_W) '$(srcdir)/../layout.c'; fi`
../ppc64_as-messages.o: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-messages.o `test -f '../messages.c' || echo '$(srcdir)/'`../messages.c
../ppc64_as-messages.obj: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-messages.obj `if test -f '../messages.c'; then $(CYGPATH_W) '../messages.c'; else $(CYGPATH_W) '$(srcdir)/../messages.c'; fi`
../ppc64_as-obstack.o: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-obstack.o `test -f '../obstack.c' || echo '$(srcdir)/'`../obstack.c
../ppc64_as-obstack.obj: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-obstack.obj `if test -f '../obstack.c'; then $(CYGPATH_W) '../obstack.c'; else $(CYGPATH_W) '$(srcdir)/../obstack.c'; fi`
../ppc64_as-read.o: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-read.o `test -f '../read.c' || echo '$(srcdir)/'`../read.c
../ppc64_as-read.obj: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-read.obj `if test -f '../read.c'; then $(CYGPATH_W) '../read.c'; else $(CYGPATH_W) '$(srcdir)/../read.c'; fi`
../ppc64_as-sections.o: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-sections.o `test -f '../sections.c' || echo '$(srcdir)/'`../sections.c
../ppc64_as-sections.obj: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-sections.obj `if test -f '../sections.c'; then $(CYGPATH_W) '../sections.c'; else $(CYGPATH_W) '$(srcdir)/../sections.c'; fi`
../ppc64_as-symbols.o: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-symbols.o `test -f '../symbols.c' || echo '$(srcdir)/'`../symbols.c
../ppc64_as-symbols.obj: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-symbols.obj `if test -f '../symbols.c'; then $(CYGPATH_W) '../symbols.c'; else $(CYGPATH_W) '$(srcdir)/../symbols.c'; fi`
../ppc64_as-write_object.o: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-write_object.o `test -f '../write_object.c' || echo '$(srcdir)/'`../write_object.c
../ppc64_as-write_object.obj: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-write_object.obj `if test -f '../write_object.c'; then $(CYGPATH_W) '../write_object.c'; else $(CYGPATH_W) '$(srcdir)/../write_object.c'; fi`
../ppc64_as-xmalloc.o: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-xmalloc.o `test -f '../xmalloc.c' || echo '$(srcdir)/'`../xmalloc.c
../ppc64_as-xmalloc.obj: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-xmalloc.obj `if test -f '../xmalloc.c'; then $(CYGPATH_W) '../xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/../xmalloc.c'; fi`
../ppc64_as-dwarf2dbg.o: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-dwarf2dbg.o `test -f '../dwarf2dbg.c' || echo '$(srcdir)/'`../dwarf2dbg.c
../ppc64_as-dwarf2dbg.obj: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-dwarf2dbg.obj `if test -f '../dwarf2dbg.c'; then $(CYGPATH_W) '../dwarf2dbg.c'; else $(CYGPATH_W) '$(srcdir)/../dwarf2dbg.c'; fi`
../ppc64_as-ppc.o: ../ppc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-ppc.o `test -f '../ppc.c' || echo '$(srcdir)/'`../ppc.c
../ppc64_as-ppc.obj: ../ppc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppc64_as_CFLAGS) $(CFLAGS) -c -o ../ppc64_as-ppc.obj `if test -f '../ppc.c'; then $(CYGPATH_W) '../ppc.c'; else $(CYGPATH_W) '$(srcdir)/../ppc.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libexecPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libexecPROGRAMS
.MAKE: install-am install-exec-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-hook install-html install-html-am \
install-info install-info-am install-libexecPROGRAMS \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-libexecPROGRAMS
.PRECIOUS: Makefile
install-exec-hook:
mkdir -p $(DESTDIR)$(libexecdir)/as/ppc64
mv $(DESTDIR)$(libexecdir)/*ppc64-as* $(DESTDIR)$(libexecdir)/as/ppc64/as
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -746,7 +746,7 @@ char *buffer) /* 1st character of each buffer of lines is here. */
100 /* N_SO */,
text_nsect,
0,
obstack_next_free(&frags) - frag_now->fr_literal,
(int)(obstack_next_free(&frags) - frag_now->fr_literal),
frag_now);
symbolP = symbol_new(
"int:t1=r1;-2147483648;2147483647;",
@ -790,7 +790,7 @@ char *buffer) /* 1st character of each buffer of lines is here. */
132 /* N_SOL */,
text_nsect,
0,
obstack_next_free(&frags) - frag_now->fr_literal,
(int)(obstack_next_free(&frags) - frag_now->fr_literal),
frag_now);
}
}
@ -824,7 +824,7 @@ char *buffer) /* 1st character of each buffer of lines is here. */
100 /* N_SO */,
text_nsect,
0,
obstack_next_free(&frags) - frag_now->fr_literal,
(int)(obstack_next_free(&frags) - frag_now->fr_literal),
frag_now);
}
}
@ -1425,8 +1425,8 @@ char **buffer)
tmp_buf = NULL;
if(ends == NULL){
/* The matching #NO_APP\n for the #APP\n wasn't in this buffer. */
int tmp_len;
int num;
long tmp_len;
long num;
/*
* First create a temporary place (tmp_buf of size tmp_len) to
@ -1602,7 +1602,7 @@ void
s_align_bytes(
uintptr_t arg)
{
s_align(arg, 1);
s_align((int)arg, 1);
}
/*
@ -1614,7 +1614,7 @@ void
s_align_ptwo(
uintptr_t arg)
{
s_align(arg, 0);
s_align((int)arg, 0);
}
/*
@ -1646,10 +1646,10 @@ int bytes_p)
power_of_2_alignment = 0;
if(bytes_p == 0){
power_of_2_alignment = get_absolute_expression();
power_of_2_alignment = (int)get_absolute_expression();
}
else{
byte_alignment = get_absolute_expression();
byte_alignment = (int)get_absolute_expression();
if(byte_alignment != 0){
for(i = 0; (byte_alignment & 1) == 0; i++)
byte_alignment >>= 1;
@ -1672,12 +1672,12 @@ int bytes_p)
if(*input_line_pointer == ','){
input_line_pointer ++;
if(*input_line_pointer != ','){
temp_fill = get_absolute_expression ();
temp_fill = (int32_t)get_absolute_expression ();
fill_specified = 1;
}
if(*input_line_pointer == ','){
input_line_pointer ++;
max_bytes_to_fill = get_absolute_expression ();
max_bytes_to_fill = (int32_t)get_absolute_expression ();
}
}
@ -1810,7 +1810,7 @@ uintptr_t value)
#define MAX_ALIGNMENT (15)
if(*input_line_pointer == ','){
input_line_pointer++;
power_of_2_alignment = get_absolute_expression();
power_of_2_alignment = (int)get_absolute_expression();
if(power_of_2_alignment > MAX_ALIGNMENT)
as_warn("Alignment too large: %d. assumed.",
power_of_2_alignment = MAX_ALIGNMENT);
@ -1877,7 +1877,7 @@ uintptr_t value)
}
else{
input_line_pointer++;
temp = get_absolute_expression();
temp = (int)get_absolute_expression();
*p = 0;
symbolP = symbol_find_or_make(name);
*p = c;
@ -1921,7 +1921,8 @@ uintptr_t value)
132 /* N_SOL */,
text_nsect,
0,
obstack_next_free(&frags) - frag_now->fr_literal,
(int)(obstack_next_free(&frags) -
frag_now->fr_literal),
frag_now);
}
}
@ -1983,7 +1984,7 @@ uintptr_t value)
as_bad(".fill repeat <= 0, .fill ignored");
temp_size = 0;
}
temp_fill = get_absolute_expression();
temp_fill = (int32_t)get_absolute_expression();
/*
* Note: .fill (),0 emits no frag (since we are asked to .fill 0 bytes)
* but emits no error message because it seems a legal thing to do.
@ -2118,7 +2119,8 @@ uintptr_t value)
c = get_symbol_end();
indirect_symbol_new(name,
frag_now,
obstack_next_free(&frags) - frag_now->fr_literal);
(int)(obstack_next_free(&frags) -
frag_now->fr_literal));
*input_line_pointer = c;
demand_empty_rest_of_line();
@ -2165,7 +2167,7 @@ uintptr_t value)
align = 0;
if(*input_line_pointer == ','){
input_line_pointer++;
align = get_absolute_expression();
align = (int)get_absolute_expression();
if(align > MAX_ALIGNMENT){
as_warn("Alignment too large: %d. assumed.", MAX_ALIGNMENT);
align = MAX_ALIGNMENT;
@ -2188,7 +2190,7 @@ uintptr_t value)
}
bss->frch_root->fr_address = rnd(bss->frch_root->fr_address,
1 << align);
symbolP->sy_value = bss->frch_root->fr_address;
symbolP->sy_value = (uint32_t)bss->frch_root->fr_address;
symbolP->sy_type = N_SECT;
symbolP->sy_other = bss->frch_nsect;
symbolP->sy_frag = bss->frch_root;
@ -2319,7 +2321,7 @@ uintptr_t value)
segment = get_known_segmented_expression(&exp);
if(*input_line_pointer == ','){
input_line_pointer ++;
temp_fill = get_absolute_expression ();
temp_fill = (int32_t)get_absolute_expression ();
}
else
temp_fill = 0;
@ -2332,7 +2334,7 @@ uintptr_t value)
1,
(relax_substateT)0,
exp.X_add_symbol,
exp.X_add_number,
(int32_t)exp.X_add_number,
(char *)0);
*p = temp_fill;
demand_empty_rest_of_line();
@ -2386,7 +2388,7 @@ uintptr_t value)
1,
(relax_substateT)0,
exp.X_add_symbol,
exp.X_add_number,
(int32_t)exp.X_add_number,
(char *)0);
*ptr = 0;
*end_name = delim;
@ -2460,7 +2462,7 @@ uintptr_t value)
/* Just like .fill, but temp_size = 1 */
if(get_absolute_expression_and_terminator(&temp_repeat) == ','){
temp_fill = get_absolute_expression();
temp_fill = (int32_t)get_absolute_expression();
}
else{
input_line_pointer--; /* Backup over what was not a ','. */
@ -2631,7 +2633,8 @@ uintptr_t value)
}while(!(is_end_of_line(g)));
u = input_line_pointer - 1;
*u = 0;
sizeof_stub = strtoul(sizeof_stub_name, &endp, 0);
sizeof_stub = (uint32_t)strtoul(sizeof_stub_name,
&endp, 0);
if(*endp != '\0'){
as_bad("size of stub section: %s not a proper "
"number", sizeof_stub_name);
@ -2692,7 +2695,7 @@ uintptr_t value)
if(value == S_THREAD_LOCAL_ZEROFILL){
directive = "tbss";
frcP = section_new("__DATA", "__thread_bss", value, 0, 0);
frcP = section_new("__DATA", "__thread_bss", (uint32_t)value, 0, 0);
if(frcP->frch_root == NULL){
frcP->frch_root = xmalloc(SIZEOF_STRUCT_FRAG);
frcP->frch_last = frcP->frch_root;
@ -2746,7 +2749,7 @@ uintptr_t value)
return;
}
frcP = section_new(segname, sectname, value, 0, 0);
frcP = section_new(segname, sectname, (uint32_t)value, 0, 0);
if(frcP->frch_root == NULL){
frcP->frch_root = xmalloc(SIZEOF_STRUCT_FRAG);
frcP->frch_last = frcP->frch_root;
@ -2784,7 +2787,7 @@ uintptr_t value)
align = 0;
if(*input_line_pointer == ','){
input_line_pointer++;
align = get_absolute_expression();
align = (int)get_absolute_expression();
if(align > MAX_ALIGNMENT){
as_warn("Alignment too large: %d. assumed.", MAX_ALIGNMENT);
align = MAX_ALIGNMENT;
@ -2807,7 +2810,7 @@ uintptr_t value)
if((symbolP->sy_type & N_TYPE) == N_UNDF && symbolP->sy_value == 0){
frcP->frch_root->fr_address = rnd(frcP->frch_root->fr_address,
1 << align);
symbolP->sy_value = frcP->frch_root->fr_address;
symbolP->sy_value = (uint32_t)frcP->frch_root->fr_address;
symbolP->sy_type = N_SECT | (symbolP->sy_type & (N_EXT | N_PEXT));
symbolP->sy_other = frcP->frch_nsect;
symbolP->sy_frag = frcP->frch_root;
@ -3056,7 +3059,8 @@ uintptr_t value)
132 /* N_SOL */,
text_nsect,
0,
obstack_next_free(&frags) - frag_now->fr_literal,
(int)(obstack_next_free(&frags) -
frag_now->fr_literal),
frag_now);
}
}
@ -3164,8 +3168,8 @@ uintptr_t what) /* d == .stabd, n == .stabn, and s == .stabs */
switch(what){
case 'd':
symbolP->sy_name = NULL; /* .stabd feature. */
symbolP->sy_value = obstack_next_free(&frags) -
frag_now->fr_literal;
symbolP->sy_value = (int)(obstack_next_free(&frags) -
frag_now->fr_literal);
symbolP->sy_frag = frag_now;
break;
@ -3298,14 +3302,14 @@ symbolS *symbolP)
as_bad("Complex expression. Absolute segment assumed." );
symbolP->sy_type = N_ABS | ext;
symbolP->sy_other = 0; /* NO_SECT */
symbolP->sy_value = exp.X_add_number;
symbolP->sy_value = (uint32_t)exp.X_add_number;
symbolP->sy_frag = &zero_address_frag;
break;
case SEG_ABSOLUTE:
symbolP->sy_type = N_ABS | ext;
symbolP->sy_other = 0; /* NO_SECT */
symbolP->sy_value = exp.X_add_number;
symbolP->sy_value = (uint32_t)exp.X_add_number;
symbolP->sy_frag = &zero_address_frag;
symbolP->expression = NULL;
break;
@ -3313,7 +3317,7 @@ symbolS *symbolP)
case SEG_SECT:
symbolP->sy_type = N_SECT | ext;
symbolP->sy_other = exp.X_add_symbol->sy_other;
symbolP->sy_value = exp.X_add_number + exp.X_add_symbol->sy_value;
symbolP->sy_value = (uint32_t)exp.X_add_number + exp.X_add_symbol->sy_value;
symbolP->sy_frag = exp.X_add_symbol->sy_frag;
break;
@ -3390,7 +3394,7 @@ uintptr_t nbytes) /* nbytes == 1 for .byte, 2 for .word, 4 for .long, 8 for .qua
while(c == ','){
#ifdef TC_PARSE_CONS_EXPRESSION
segment = TC_PARSE_CONS_EXPRESSION(&exp, nbytes);
segment = TC_PARSE_CONS_EXPRESSION(&exp, (int)nbytes);
#else
segment = expression(&exp); /* At least scan over the expression */
#endif
@ -3404,7 +3408,7 @@ uintptr_t nbytes) /* nbytes == 1 for .byte, 2 for .word, 4 for .long, 8 for .qua
segment = SEG_ABSOLUTE;
/* Leave exp .X_add_number alone. */
}
p = frag_more(nbytes);
p = frag_more((int)nbytes);
switch(segment){
case SEG_BIG:
/*
@ -3421,13 +3425,13 @@ uintptr_t nbytes) /* nbytes == 1 for .byte, 2 for .word, 4 for .long, 8 for .qua
for(i = 0; i < exp.X_add_number; ++i)
sum = (sum << LITTLENUM_NUMBER_OF_BITS) +
generic_bignum[(exp.X_add_number - 1) - i];
md_number_to_chars(p, sum, nbytes);
md_number_to_chars(p, sum, (int)nbytes);
}
else
{
as_bad("%s number illegal. Absolute 0 assumed.",
exp.X_add_number > 0 ? "Bignum" : "Floating-Point");
md_number_to_chars(p, (int32_t)0, nbytes);
md_number_to_chars(p, (int32_t)0, (int)nbytes);
}
break;
@ -3444,9 +3448,9 @@ uintptr_t nbytes) /* nbytes == 1 for .byte, 2 for .word, 4 for .long, 8 for .qua
/* Leading bits contain both 0s & 1s. */
as_bad("Value 0x%llx truncated to 0x%llx.", get, use);
}
dwarf2_emit_insn(nbytes);
dwarf2_emit_insn((int)nbytes);
/* put bytes in right order. */
md_number_to_chars(p, use, nbytes);
md_number_to_chars(p, use, (int)nbytes);
break;
case SEG_DIFFSECT:
@ -3454,16 +3458,16 @@ uintptr_t nbytes) /* nbytes == 1 for .byte, 2 for .word, 4 for .long, 8 for .qua
case SEG_SECT:
#ifdef TC_CONS_FIX_NEW
TC_CONS_FIX_NEW(frag_now,
p - frag_now->fr_literal,
nbytes,
(unsigned int)(p - frag_now->fr_literal),
(unsigned int)nbytes,
&exp);
#else
fixP = fix_new(frag_now,
p - frag_now->fr_literal,
nbytes,
(int)(p - frag_now->fr_literal),
(int)nbytes,
exp.X_add_symbol,
exp.X_subtract_symbol,
exp.X_add_number,
(int)exp.X_add_number,
0,
0,
0);
@ -3686,7 +3690,7 @@ uintptr_t float_type) /* 'f':.ffloat ... 'F':.float ... */
if(input_line_pointer[0] == '0' && isalpha(input_line_pointer[1]))
input_line_pointer+=2;
err = md_atof(float_type, temp, &length);
err = md_atof((int)float_type, temp, &length);
know(length <= MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT);
know(length > 0);
if(err != NULL && *err != '\0'){
@ -3761,7 +3765,7 @@ emit_leb128_expr (expressionS *exp, int sign)
{
/* If we've got a constant, emit the thing directly right now. */
valueT value = exp->X_add_number;
valueT value = (valueT)exp->X_add_number;
int size;
char *p;
@ -3799,8 +3803,8 @@ emit_leb128_expr (expressionS *exp, int sign)
*expression = *exp;
sym->expression = expression;
sym->sy_frag = &zero_address_frag;
frag_var (rs_leb128, sizeof_leb128 ( ((valueT) (~(valueT) 0) >> 1), 0), 0, sign,
sym, 0, (char *) NULL);
frag_var (rs_leb128, sizeof_leb128 ( ((valueT) (~(valueT) 0) >> 1), 0),
0, sign, sym, 0, (char *) NULL);
frchain_now->has_rs_leb128s = TRUE;
#endif
@ -3823,7 +3827,7 @@ uintptr_t sign)
do
{
expression (&exp);
emit_leb128_expr (&exp, sign);
emit_leb128_expr (&exp, (int)sign);
}
while (*input_line_pointer++ == ',');
@ -4049,7 +4053,7 @@ void)
}
exp.X_add_number = 0;
}
return(exp.X_add_number);
return (signed_target_addr_t)exp.X_add_number;
}
/*
@ -4062,7 +4066,7 @@ char /* return terminator */
get_absolute_expression_and_terminator(
int32_t *val_pointer) /* return value of expression */
{
*val_pointer = get_absolute_expression();
*val_pointer = (int32_t)get_absolute_expression();
return(*input_line_pointer++);
}
@ -4187,7 +4191,7 @@ char *sym_name)
1,
(relax_substateT)0,
exp.X_add_symbol,
exp.X_add_number,
(int32_t)exp.X_add_number,
(char *)0);
*p = 0;
return;
@ -4223,7 +4227,7 @@ uintptr_t value)
if(the_cond_state.ignore)
totally_ignore_line();
else{
the_cond_state.cond_met = get_absolute_expression();
the_cond_state.cond_met = (int)get_absolute_expression();
the_cond_state.ignore = !the_cond_state.cond_met;
demand_empty_rest_of_line();
}
@ -4255,7 +4259,7 @@ uintptr_t value)
totally_ignore_line();
}
else{
the_cond_state.cond_met = get_absolute_expression();
the_cond_state.cond_met = (int)get_absolute_expression();
the_cond_state.ignore = !the_cond_state.cond_met;
demand_empty_rest_of_line();
}
@ -4459,6 +4463,7 @@ char *macro_contents)
/* copy each argument to a object in the macro obstack */
nargs = 0;
c = '\0';
for(index = 0; index < 10; index ++){
if(*input_line_pointer == ' ')
++input_line_pointer;
@ -4870,7 +4875,7 @@ uintptr_t value)
{
int length;
inlineasm_checks = value;
inlineasm_checks = (int)value;
inlineasm_file_name = NULL;
inlineasm_line_number = 0;
inlineasm_column_number = 0;
@ -4881,11 +4886,11 @@ uintptr_t value)
SKIP_WHITESPACE();
if(*input_line_pointer == ','){
input_line_pointer++;
inlineasm_line_number = get_absolute_expression();
inlineasm_line_number = (int)get_absolute_expression();
SKIP_WHITESPACE();
if(*input_line_pointer == ','){
input_line_pointer++;
inlineasm_column_number = get_absolute_expression();
inlineasm_column_number =(int)get_absolute_expression();
}
}
}
@ -5132,7 +5137,7 @@ int
sizeof_leb128 (valueT value, int sign)
{
if (sign)
return sizeof_sleb128_32 ((offsetT) value);
return sizeof_sleb128_32 (value);
else
return sizeof_uleb128_32 (value);
}
@ -5164,7 +5169,7 @@ output_sleb128 (char *p, offsetT value)
}
while (more);
return p - orig;
return (int)(p - orig);
}
static inline int
@ -5184,7 +5189,7 @@ output_uleb128 (char *p, valueT value)
}
while (value != 0);
return p - orig;
return (int)(p - orig);
}
int

View File

@ -175,8 +175,8 @@ uint32_t sizeof_stub)
* If there is any current frag in the old section close it off.
*/
if(frag_now != NULL){
frag_now->fr_fix = obstack_next_free(&frags) -
frag_now->fr_literal;
frag_now->fr_fix = (int32_t)(obstack_next_free(&frags) -
frag_now->fr_literal);
frag_wane(frag_now);
}
@ -217,7 +217,8 @@ uint32_t sizeof_stub)
/*
* Make a fresh frag for the section.
*/
frag_now = (fragS *)obstack_alloc(&frags, SIZEOF_STRUCT_FRAG);
frag_now = (fragS *)obstack_alloc(&frags,
(int)SIZEOF_STRUCT_FRAG);
memset(frag_now, '\0', SIZEOF_STRUCT_FRAG);
frag_now->fr_next = NULL;
@ -262,7 +263,8 @@ uint32_t sizeof_stub)
/*
* Make a fresh frag for the new section.
*/
frag_now = (fragS *)obstack_alloc(&frags, SIZEOF_STRUCT_FRAG);
frag_now = (fragS *)obstack_alloc(&frags,
(int)SIZEOF_STRUCT_FRAG);
memset(frag_now, '\0', SIZEOF_STRUCT_FRAG);
frag_now->fr_next = NULL;

View File

@ -19,6 +19,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdlib.h>
#include <string.h>
#include <strings.h> /* cctools-port: For bcmp, bzero ... */
#include <ctype.h>
#include "as.h"
#include "hash.h"
@ -335,11 +336,11 @@ struct frag *frag) /* For sy_frag. */
{
register symbolS * symbolP;
register char * preserved_copy_of_name;
register unsigned int name_length;
register size_t name_length;
char * p;
name_length = strlen(name) + 1;
obstack_grow(&notes,name,name_length);
obstack_grow(&notes,name,(int)name_length);
p=obstack_finish(&notes);
/* obstack_1done( &notes, name, name_length, &p ); */
preserved_copy_of_name = p;
@ -460,7 +461,8 @@ int local_colon)/* non-zero if called from local_colon() */
&& symbolP -> sy_value == 0)
{
symbolP -> sy_frag = frag_now;
symbolP -> sy_value = obstack_next_free(& frags) - frag_now -> fr_literal;
symbolP -> sy_value = (uint32_t)(obstack_next_free(& frags) -
frag_now -> fr_literal);
know( N_UNDF == 0 );
symbolP -> sy_type |= N_SECT; /* keep N_EXT bit */
symbolP -> sy_other = frchain_now->frch_nsect;
@ -603,7 +605,7 @@ make_stab_for_symbol(
symbolS *symbolP)
{
symbolS *stab;
int stabnamelen;
size_t stabnamelen;
char *stabname;
if(symbolP->sy_name[0] == 'L')
@ -694,7 +696,7 @@ uint32_t offset) /* Offset from frag address. */
{
isymbolS *isymbolP;
char *preserved_copy_of_name;
uint32_t name_length;
size_t name_length;
char *p;
struct frag *fr_next;
symbolS *symbolP;
@ -722,7 +724,7 @@ uint32_t offset) /* Offset from frag address. */
}
name_length = strlen(name) + 1;
obstack_grow(&notes, name, name_length);
obstack_grow(&notes, name, (int)name_length);
p = obstack_finish(&notes);
preserved_copy_of_name = p;
p = obstack_alloc(&notes, sizeof(struct indirect_symbol));
@ -882,7 +884,7 @@ struct frag *frag)
symbolS *
symbol_temp_new_now(void)
{
return(symbol_temp_new(now_seg, frag_now_fix(), frag_now));
return(symbol_temp_new(now_seg, (valueT)frag_now_fix(), frag_now));
}
symbolS *
@ -898,7 +900,7 @@ symbolS *sym)
{
sym->sy_type = N_SECT;
sym->sy_other = now_seg;
sym->sy_value = frag_now_fix();
sym->sy_value = (uint32_t)frag_now_fix();
sym->sy_frag = frag_now;
}

View File

@ -45,6 +45,7 @@
#include "messages.h"
#include "xmalloc.h"
#include "input-scrub.h"
#include "stuff/write64.h"
#if defined(I386) && defined(ARCH64)
#include "i386.h"
#endif
@ -193,9 +194,11 @@ char *out_file_name)
*/
nsects = 0;
for(frchainP = frchain_root; frchainP; frchainP = frchainP->frch_next){
frchainP->frch_section.addr = frchainP->frch_root->fr_address;
frchainP->frch_section.size = frchainP->frch_last->fr_address -
frchainP->frch_section.addr = (uint32_t)
frchainP->frch_root->fr_address;
frchainP->frch_section.size = (uint32_t)
(frchainP->frch_last->fr_address -
frchainP->frch_root->fr_address);
nsects++;
}
@ -283,9 +286,10 @@ char *out_file_name)
break;
}
if(p != NULL)
i = p->frch_section.addr - frchainP->frch_section.addr;
i = (uint32_t)(p->frch_section.addr -
frchainP->frch_section.addr);
else
i = frchainP->frch_section.size;
i = (uint32_t)frchainP->frch_section.size;
reloc_segment.filesize += i;
frchainP->frch_section.offset = offset;
offset += i;
@ -300,7 +304,7 @@ char *out_file_name)
reloc_segment.vmsize = frchainP->frch_section.addr +
frchainP->frch_section.size;
}
offset = rnd(offset, sizeof(int32_t));
offset = rnd32(offset, sizeof(int32_t));
/*
* Count the number of relocation entries for each section.
@ -315,7 +319,7 @@ char *out_file_name)
/*
* Fill in the offset to the relocation entries of the sections.
*/
offset = rnd(offset, sizeof(int32_t));
offset = rnd32(offset, sizeof(int32_t));
reloff = offset;
nrelocs = 0;
for(frchainP = frchain_root; frchainP; frchainP = frchainP->frch_next){
@ -377,7 +381,7 @@ char *out_file_name)
symbol_table.stroff = 0;
else
symbol_table.stroff = offset;
symbol_table.strsize = rnd(strsize, sizeof(uint32_t));
symbol_table.strsize = rnd32(strsize, sizeof(uint32_t));
offset += rnd(strsize, sizeof(uint32_t));
/*
@ -641,7 +645,7 @@ char *out_file_name)
}
if((fd = open(out_file_name, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1)
as_fatal("can't create output file: %s", out_file_name);
if(write(fd, output_addr, output_size) != (int)output_size)
if(write64(fd, output_addr, output_size) != (ssize_t)output_size)
as_fatal("can't write output file");
if(close(fd) == -1)
as_fatal("can't close output file");
@ -1121,6 +1125,9 @@ uint32_t debug_section)
uint32_t left21, right14;
#endif
/* the pragmas that follow silence a noisy clang warning */
#pragma unused (sri)
#pragma unused (sectdiff)
/*
* If fx_addsy is NULL then this fix needs no relocation entry.
*/
@ -1171,8 +1178,8 @@ uint32_t debug_section)
fixP->fx_size);
}
riP->r_pcrel = fixP->fx_pcrel;
riP->r_address = fixP->fx_frag->fr_address + fixP->fx_where -
sect_addr;
riP->r_address = (int32_t)(fixP->fx_frag->fr_address + fixP->fx_where -
sect_addr);
#ifdef ARM
if(fixP->fx_r_type == ARM_RELOC_LO16 ||
fixP->fx_r_type == ARM_RELOC_HI16 ||
@ -1258,6 +1265,8 @@ uint32_t debug_section)
riP->r_type = X86_64_RELOC_UNSIGNED;
return(2 * sizeof(struct relocation_info));
#endif
/* the #if that follows is to silence a noisy "unreachable code" warning */
#if defined(ARM) || defined(SPARC) || defined(HPPA) || defined (PPC)
#ifdef PPC
if(fixP->fx_r_type == PPC_RELOC_HI16)
sectdiff = PPC_RELOC_HI16_SECTDIFF;
@ -1384,6 +1393,7 @@ uint32_t debug_section)
#endif
*riP = *((struct relocation_info *)&sri);
return(2 * sizeof(struct relocation_info));
#endif /* unreachable code */
}
/*
* Determine if this is left as a local relocation entry or must be

View File

@ -0,0 +1,852 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
libexec_PROGRAMS = x86_64-as$(EXEEXT)
subdir = as/x86_64
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_x86_64_as_OBJECTS = ../x86_64_as-app.$(OBJEXT) \
../x86_64_as-as.$(OBJEXT) ../x86_64_as-atof-generic.$(OBJEXT) \
../x86_64_as-atof-ieee.$(OBJEXT) ../x86_64_as-expr.$(OBJEXT) \
../x86_64_as-fixes.$(OBJEXT) \
../x86_64_as-flonum-const.$(OBJEXT) \
../x86_64_as-flonum-copy.$(OBJEXT) \
../x86_64_as-flonum-mult.$(OBJEXT) \
../x86_64_as-frags.$(OBJEXT) ../x86_64_as-hash.$(OBJEXT) \
../x86_64_as-hex-value.$(OBJEXT) \
../x86_64_as-input-file.$(OBJEXT) \
../x86_64_as-input-scrub.$(OBJEXT) \
../x86_64_as-layout.$(OBJEXT) ../x86_64_as-messages.$(OBJEXT) \
../x86_64_as-obstack.$(OBJEXT) ../x86_64_as-read.$(OBJEXT) \
../x86_64_as-sections.$(OBJEXT) ../x86_64_as-symbols.$(OBJEXT) \
../x86_64_as-write_object.$(OBJEXT) \
../x86_64_as-xmalloc.$(OBJEXT) \
../x86_64_as-dwarf2dbg.$(OBJEXT) ../x86_64_as-i386.$(OBJEXT)
x86_64_as_OBJECTS = $(am_x86_64_as_OBJECTS)
x86_64_as_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
x86_64_as_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(x86_64_as_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(x86_64_as_SOURCES)
DIST_SOURCES = $(x86_64_as_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
x86_64_as_LDADD = \
$(top_builddir)/libstuff/libstuff.la
x86_64_as_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff -I$(top_srcdir)/as $(WARNINGS) $(LTO_DEF) -DNeXT_MOD -DASLIBEXECDIR="\"$(ASLIBEXECDIR)/\"" -D__DARWIN_UNIX03 -DI386 -Di486 -Di586 -Di686 -DARCH64 $(ENDIAN_FLAG)
x86_64_as_SOURCES = ../app.c ../as.c ../atof-generic.c ../atof-ieee.c ../expr.c ../fixes.c ../flonum-const.c \
../flonum-copy.c ../flonum-mult.c ../frags.c ../hash.c ../hex-value.c ../input-file.c \
../input-scrub.c ../layout.c ../messages.c ../obstack.c ../read.c ../sections.c \
../symbols.c ../write_object.c ../xmalloc.c ../dwarf2dbg.c ../i386.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps as/x86_64/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps as/x86_64/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libexecPROGRAMS: $(libexec_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
} \
; done
uninstall-libexecPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
clean-libexecPROGRAMS:
@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
../$(am__dirstamp):
@$(MKDIR_P) ..
@: > ../$(am__dirstamp)
../x86_64_as-app.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-as.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-atof-generic.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-atof-ieee.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-expr.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-fixes.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-flonum-const.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-flonum-copy.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-flonum-mult.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-frags.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-hash.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-hex-value.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-input-file.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-input-scrub.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-layout.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-messages.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-obstack.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-read.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-sections.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-symbols.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-write_object.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-xmalloc.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-dwarf2dbg.$(OBJEXT): ../$(am__dirstamp)
../x86_64_as-i386.$(OBJEXT): ../$(am__dirstamp)
x86_64-as$(EXEEXT): $(x86_64_as_OBJECTS) $(x86_64_as_DEPENDENCIES) $(EXTRA_x86_64_as_DEPENDENCIES)
@rm -f x86_64-as$(EXEEXT)
$(AM_V_CCLD)$(x86_64_as_LINK) $(x86_64_as_OBJECTS) $(x86_64_as_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f ../*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
../x86_64_as-app.o: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-app.o `test -f '../app.c' || echo '$(srcdir)/'`../app.c
../x86_64_as-app.obj: ../app.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-app.obj `if test -f '../app.c'; then $(CYGPATH_W) '../app.c'; else $(CYGPATH_W) '$(srcdir)/../app.c'; fi`
../x86_64_as-as.o: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-as.o `test -f '../as.c' || echo '$(srcdir)/'`../as.c
../x86_64_as-as.obj: ../as.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-as.obj `if test -f '../as.c'; then $(CYGPATH_W) '../as.c'; else $(CYGPATH_W) '$(srcdir)/../as.c'; fi`
../x86_64_as-atof-generic.o: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-atof-generic.o `test -f '../atof-generic.c' || echo '$(srcdir)/'`../atof-generic.c
../x86_64_as-atof-generic.obj: ../atof-generic.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-atof-generic.obj `if test -f '../atof-generic.c'; then $(CYGPATH_W) '../atof-generic.c'; else $(CYGPATH_W) '$(srcdir)/../atof-generic.c'; fi`
../x86_64_as-atof-ieee.o: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-atof-ieee.o `test -f '../atof-ieee.c' || echo '$(srcdir)/'`../atof-ieee.c
../x86_64_as-atof-ieee.obj: ../atof-ieee.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-atof-ieee.obj `if test -f '../atof-ieee.c'; then $(CYGPATH_W) '../atof-ieee.c'; else $(CYGPATH_W) '$(srcdir)/../atof-ieee.c'; fi`
../x86_64_as-expr.o: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-expr.o `test -f '../expr.c' || echo '$(srcdir)/'`../expr.c
../x86_64_as-expr.obj: ../expr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-expr.obj `if test -f '../expr.c'; then $(CYGPATH_W) '../expr.c'; else $(CYGPATH_W) '$(srcdir)/../expr.c'; fi`
../x86_64_as-fixes.o: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-fixes.o `test -f '../fixes.c' || echo '$(srcdir)/'`../fixes.c
../x86_64_as-fixes.obj: ../fixes.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-fixes.obj `if test -f '../fixes.c'; then $(CYGPATH_W) '../fixes.c'; else $(CYGPATH_W) '$(srcdir)/../fixes.c'; fi`
../x86_64_as-flonum-const.o: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-const.o `test -f '../flonum-const.c' || echo '$(srcdir)/'`../flonum-const.c
../x86_64_as-flonum-const.obj: ../flonum-const.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-const.obj `if test -f '../flonum-const.c'; then $(CYGPATH_W) '../flonum-const.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-const.c'; fi`
../x86_64_as-flonum-copy.o: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-copy.o `test -f '../flonum-copy.c' || echo '$(srcdir)/'`../flonum-copy.c
../x86_64_as-flonum-copy.obj: ../flonum-copy.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-copy.obj `if test -f '../flonum-copy.c'; then $(CYGPATH_W) '../flonum-copy.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-copy.c'; fi`
../x86_64_as-flonum-mult.o: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-mult.o `test -f '../flonum-mult.c' || echo '$(srcdir)/'`../flonum-mult.c
../x86_64_as-flonum-mult.obj: ../flonum-mult.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-flonum-mult.obj `if test -f '../flonum-mult.c'; then $(CYGPATH_W) '../flonum-mult.c'; else $(CYGPATH_W) '$(srcdir)/../flonum-mult.c'; fi`
../x86_64_as-frags.o: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-frags.o `test -f '../frags.c' || echo '$(srcdir)/'`../frags.c
../x86_64_as-frags.obj: ../frags.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-frags.obj `if test -f '../frags.c'; then $(CYGPATH_W) '../frags.c'; else $(CYGPATH_W) '$(srcdir)/../frags.c'; fi`
../x86_64_as-hash.o: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-hash.o `test -f '../hash.c' || echo '$(srcdir)/'`../hash.c
../x86_64_as-hash.obj: ../hash.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-hash.obj `if test -f '../hash.c'; then $(CYGPATH_W) '../hash.c'; else $(CYGPATH_W) '$(srcdir)/../hash.c'; fi`
../x86_64_as-hex-value.o: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-hex-value.o `test -f '../hex-value.c' || echo '$(srcdir)/'`../hex-value.c
../x86_64_as-hex-value.obj: ../hex-value.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-hex-value.obj `if test -f '../hex-value.c'; then $(CYGPATH_W) '../hex-value.c'; else $(CYGPATH_W) '$(srcdir)/../hex-value.c'; fi`
../x86_64_as-input-file.o: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-input-file.o `test -f '../input-file.c' || echo '$(srcdir)/'`../input-file.c
../x86_64_as-input-file.obj: ../input-file.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-input-file.obj `if test -f '../input-file.c'; then $(CYGPATH_W) '../input-file.c'; else $(CYGPATH_W) '$(srcdir)/../input-file.c'; fi`
../x86_64_as-input-scrub.o: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-input-scrub.o `test -f '../input-scrub.c' || echo '$(srcdir)/'`../input-scrub.c
../x86_64_as-input-scrub.obj: ../input-scrub.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-input-scrub.obj `if test -f '../input-scrub.c'; then $(CYGPATH_W) '../input-scrub.c'; else $(CYGPATH_W) '$(srcdir)/../input-scrub.c'; fi`
../x86_64_as-layout.o: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-layout.o `test -f '../layout.c' || echo '$(srcdir)/'`../layout.c
../x86_64_as-layout.obj: ../layout.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-layout.obj `if test -f '../layout.c'; then $(CYGPATH_W) '../layout.c'; else $(CYGPATH_W) '$(srcdir)/../layout.c'; fi`
../x86_64_as-messages.o: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-messages.o `test -f '../messages.c' || echo '$(srcdir)/'`../messages.c
../x86_64_as-messages.obj: ../messages.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-messages.obj `if test -f '../messages.c'; then $(CYGPATH_W) '../messages.c'; else $(CYGPATH_W) '$(srcdir)/../messages.c'; fi`
../x86_64_as-obstack.o: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-obstack.o `test -f '../obstack.c' || echo '$(srcdir)/'`../obstack.c
../x86_64_as-obstack.obj: ../obstack.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-obstack.obj `if test -f '../obstack.c'; then $(CYGPATH_W) '../obstack.c'; else $(CYGPATH_W) '$(srcdir)/../obstack.c'; fi`
../x86_64_as-read.o: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-read.o `test -f '../read.c' || echo '$(srcdir)/'`../read.c
../x86_64_as-read.obj: ../read.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-read.obj `if test -f '../read.c'; then $(CYGPATH_W) '../read.c'; else $(CYGPATH_W) '$(srcdir)/../read.c'; fi`
../x86_64_as-sections.o: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-sections.o `test -f '../sections.c' || echo '$(srcdir)/'`../sections.c
../x86_64_as-sections.obj: ../sections.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-sections.obj `if test -f '../sections.c'; then $(CYGPATH_W) '../sections.c'; else $(CYGPATH_W) '$(srcdir)/../sections.c'; fi`
../x86_64_as-symbols.o: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-symbols.o `test -f '../symbols.c' || echo '$(srcdir)/'`../symbols.c
../x86_64_as-symbols.obj: ../symbols.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-symbols.obj `if test -f '../symbols.c'; then $(CYGPATH_W) '../symbols.c'; else $(CYGPATH_W) '$(srcdir)/../symbols.c'; fi`
../x86_64_as-write_object.o: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-write_object.o `test -f '../write_object.c' || echo '$(srcdir)/'`../write_object.c
../x86_64_as-write_object.obj: ../write_object.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-write_object.obj `if test -f '../write_object.c'; then $(CYGPATH_W) '../write_object.c'; else $(CYGPATH_W) '$(srcdir)/../write_object.c'; fi`
../x86_64_as-xmalloc.o: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-xmalloc.o `test -f '../xmalloc.c' || echo '$(srcdir)/'`../xmalloc.c
../x86_64_as-xmalloc.obj: ../xmalloc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-xmalloc.obj `if test -f '../xmalloc.c'; then $(CYGPATH_W) '../xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/../xmalloc.c'; fi`
../x86_64_as-dwarf2dbg.o: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-dwarf2dbg.o `test -f '../dwarf2dbg.c' || echo '$(srcdir)/'`../dwarf2dbg.c
../x86_64_as-dwarf2dbg.obj: ../dwarf2dbg.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-dwarf2dbg.obj `if test -f '../dwarf2dbg.c'; then $(CYGPATH_W) '../dwarf2dbg.c'; else $(CYGPATH_W) '$(srcdir)/../dwarf2dbg.c'; fi`
../x86_64_as-i386.o: ../i386.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-i386.o `test -f '../i386.c' || echo '$(srcdir)/'`../i386.c
../x86_64_as-i386.obj: ../i386.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(x86_64_as_CFLAGS) $(CFLAGS) -c -o ../x86_64_as-i386.obj `if test -f '../i386.c'; then $(CYGPATH_W) '../i386.c'; else $(CYGPATH_W) '$(srcdir)/../i386.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-libexecPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-libexecPROGRAMS
.MAKE: install-am install-exec-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-hook install-html install-html-am \
install-info install-info-am install-libexecPROGRAMS \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-libexecPROGRAMS
.PRECIOUS: Makefile
install-exec-hook:
mkdir -p $(DESTDIR)$(libexecdir)/as/x86_64
mv $(DESTDIR)$(libexecdir)/*x86_64-as* $(DESTDIR)$(libexecdir)/as/x86_64/as
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -19,7 +19,7 @@ fi
export LIBTOOLIZE
mkdir -p m4
$LIBTOOLIZE -c -i
$LIBTOOLIZE -c -i --force
aclocal -I m4
autoconf

348
cctools/compile Executable file
View File

@ -0,0 +1,348 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2020 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

1486
cctools/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1806
cctools/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

20572
cctools/configure vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
AC_INIT([cctools], [886], [t.poechtrager@gmail.com])
AC_INIT([cctools], [949.0.1], [t.poechtrager@gmail.com])
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
@ -9,7 +9,6 @@ AC_ARG_PROGRAM
AM_CONDITIONAL([ISDARWIN], [false])
isdarwin=no
iscygwin=no
if test "x$CFLAGS" = "x"; then
CFLAGS="-O3"
@ -43,69 +42,25 @@ case $host_os in
isdarwin=yes
AM_CONDITIONAL([ISDARWIN], [true])
;;
openbsd* )
XCC="egcc"
XCXX="eg++"
;;
cygwin* )
iscygwin=yes
# https://github.com/tpoechtrager/osxcross/issues/87
EXTRAFLAGS="-D__LARGE64_FILES -D_GNU_SOURCE -fno-PIC"
WARNINGS="-Wno-attributes"
XCC="gcc"
XCXX="g++"
echo "Cygwin is no longer supported." 1>&2
exit 1
;;
esac
if test "x$isdarwin" = "xno"; then
case $host_cpu in
arm* )
# clang miscompiles ld64 on arm
if test "x$isdarwin" = "xno"; then
XCC="gcc"
XCXX="g++"
fi
;;
esac
fi
if test "x$XCC" = "x"; then
XCC="clang"
fi
if test "x$XCXX" = "x"; then
XCXX="clang++"
fi
if test "x$CC" = "x"; then
if test "x$build" != "x$host"; then
CC="${host_alias}-${XCC}"
which $CC 2>/dev/null 1>&2
if test $? -ne 0; then
CC="${host_alias}-gcc"
fi
CC="${host_alias}-clang"
else
CC=$XCC
which $CC 2>/dev/null 1>&2
if test $? -ne 0; then
CC="gcc"
fi
CC=clang
fi
fi
if test "x$CXX" = "x"; then
if test "x$build" != "x$host"; then
CXX="${host_alias}-${XCXX}"
which $CXX 2>/dev/null 1>&2
if test $? -ne 0; then
CXX="${host_alias}-g++"
fi
CXX="${host_alias}-clang++"
else
CXX=$XCXX
which $CXX 2>/dev/null 1>&2
if test $? -ne 0; then
CXX="g++"
fi
CXX=clang++
fi
fi
@ -120,26 +75,19 @@ case "$CCVERSION" in
OBJCWARNINGS="-Wall -Wno-objc-root-class -Wno-deprecated-objc-isa-usage"
;;
* )
WARNINGS="$WARNINGS -Wall -Wno-format -Wno-enum-compare -Wno-unused-result -Wno-unused-variable"
WARNINGS="$WARNINGS -Wno-unused-but-set-variable -Wno-deprecated -Wno-deprecated-declarations"
WARNINGS="$WARNINGS -Wno-char-subscripts -Wno-strict-aliasing"
OBJCWARNINGS="-Wall"
CFLAGS="$CFLAGS -std=gnu99 -D__private_extern__="
CXXFLAGS="$CXXFLAGS -D__private_extern__="
echo "You must compile this project with clang. Other compilers are no longer supported." 2>&1
exit 1
;;
esac
EXTRAFLAGS="$EXTRAFLAGS -DLD64_VERSION_NUM=512.4"
case "$CXXVERSION" in
*clang* )
if test "x$isdarwin" = "xyes"; then
CXXFLAGS="$CXXFLAGS -stdlib=libc++"
fi
# can't use -fblocks on cyggwin due to a clang driver bug
if test "x$iscygwin" = "xno"; then
EXTRACXXFLAGS="$EXTRACXXFLAGS -fblocks"
else
EXTRAFLAGS="$EXTRAFLAGS -integrated-as"
fi
;;
esac
@ -154,21 +102,6 @@ case $host_cpu in
EXTRAFLAGS="$EXTRAFLAGS -D__arm64__"
;;
arm*)
case "$CXXVERSION" in
*clang* )
echo "" >&2
echo "clang is known to miscompile ld64 on arm platforms:" >&2
echo "https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615" >&2
if test "x$isdarwin" = "xno"; then
echo "" >&2
echo "please use gcc instead; CC=gcc CXX=g++ ./configure" >&2
echo "" >&2
exit 1
fi
echo "" >&2
sleep 2
;;
esac
EXTRAFLAGS="$EXTRAFLAGS -D__arm__"
;;
esac
@ -268,7 +201,65 @@ AC_CHECK_LIB([uuid],[uuid_generate_random],[
AC_CHECK_HEADERS([uuid/uuid.h], [UUID_LIB=-luuid])], [])
AC_SUBST(UUID_LIB)
AC_CHECK_FUNCS([strmode])
AC_CHECK_FUNCS([strmode utimens utimensat])
AC_CHECK_FUNCS([bcopy bcmp bzero index rindex])
### Check how to access struct stat's tv_nsec field.
AC_MSG_CHECKING(for st_mtimespec.tv_nsec in struct stat)
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/stat.h>]],
[[
struct stat st;
st.st_mtimespec.tv_nsec = 0;
]])],
[AC_DEFINE(HAVE_STAT_ST_MTIMESPEC, 1, [struct stat has st_mtimespec.tv_nsec])
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
AC_MSG_CHECKING(for st_mtim.tv_nsec in struct stat)
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <sys/stat.h>]],
[[
struct stat st;
st.st_mtim.tv_nsec = 0;
]])],
[AC_DEFINE(HAVE_STAT_ST_MTIM, 1, [struct stat has st_mtim.tv_nsec])
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
### Check for log2 in -lm
AC_CHECK_LIB([m], [log2], [
MATH_LIB="-lm"
])
AC_SUBST(MATH_LIB)
### Check for reallocf in -lc, -lbsd
AC_CHECK_HEADERS([bsd/stdlib.h], [])
AC_CHECK_LIB([c],[reallocf],[
REALLOCF_LIB=""
AC_DEFINE(HAVE_REALLOCF, 1)
],[
AC_CHECK_LIB([bsd],[reallocf],[
REALLOCF_LIB=-lbsd
AC_DEFINE(HAVE_REALLOCF, 1)
],[])
])
AC_SUBST(REALLOCF_LIB)
### Check for clock_gettime
AC_CHECK_FUNC([clock_gettime],[AC_DEFINE(HAVE_CLOCK_GETTIME, 1)])
### Check for write64
AC_CHECK_FUNC([write64],[AC_DEFINE(HAVE_WRITE64, 1)])
### Check for __cxa_demangle in various C++ ABI libs ###
@ -282,6 +273,14 @@ AC_CHECK_LIB([c++abi],[__cxa_demangle],[CXXABI_LIB=-lc++abi],[
AC_SUBST(CXXABI_LIB)
### Check for __gcc_personality_v0 in -lgcc (NetBSD needs this)
AC_CHECK_LIB([gcc], [__gcc_personality_v0], [
GCC_LIB="-lgcc"
])
AC_SUBST(GCC_LIB)
### Check for supported warning options ###
ORIGCFLAGS=$CFLAGS
@ -295,6 +294,17 @@ AC_COMPILE_IFELSE(
)
CFLAGS=$ORIGCFLAGS
ORIGCFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Werror -Wno-misleading-indentation"
AC_MSG_CHECKING([whether $CC supports -Wno-misleading-indentation])
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([[int dummy;]])],
[WARNINGS="$WARNINGS -Wno-misleading-indentation"
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
CFLAGS=$ORIGCFLAGS
AC_SUBST([WARNINGS], [$WARNINGS])
AC_SUBST([OBJCWARNINGS], [$OBJCWARNINGS])
@ -312,17 +322,121 @@ AC_LINK_IFELSE(
LDFLAGS=$ORIGLDFLAGS
CHECK_LLVM
LDFLAGS="$LDFLAGS $LTO_RPATH"
### Check for libxar ###
### Check for libfts (musl) ###
if test "x$LLVM_CONFIG" != "xno"; then
AC_CHECK_LIB([fts],[fts_open],[
AC_CHECK_HEADERS([fts.h], [FTS_LIB=-lfts])], [])
AC_SUBST(FTS_LIB)
AC_CHECK_LIB([xar],[xar_prop_create],[
### Check for XAR ###
AC_ARG_ENABLE([xar-support],
AS_HELP_STRING([--enable-xar-support],
[enable xar support]),
[], [enable_xar_support=yes])
if test "x$LTO_LIB" != "x"; then
if test "x$enable_xar_support" = "xyes"; then
AC_ARG_WITH([libxar],
AS_HELP_STRING([--with-libxar],
[path to the XAR library]),
[XAR_DIR=$with_libxar], [XAR_DIR=""])
if test "x$XAR_DIR" = "xno"; then
XAR_DIR=""
fi
if test "x$XAR_DIR" != "x"; then
CXXFLAGS="$CXXFLAGS -isystem $XAR_DIR/include"
CPPFLAGS="$CPPFLAGS -isystem $XAR_DIR/include"
test -d "$XAR_DIR/lib" && LDFLAGS="$LDFLAGS -L$XAR_DIR/lib"
test -d "$XAR_DIR/lib64" && LDFLAGS="$LDFLAGS -L$XAR_DIR/lib64"
test -d "$XAR_DIR/lib32" && LDFLAGS="$LDFLAGS -L$XAR_DIR/lib32"
if test "x$rpathlink" = "xyes"; then
XAR_RPATH="-Wl,-rpath,$XAR_DIR/lib,--enable-new-dtags"
XAR_RPATH="$XAR_RPATH -Wl,-rpath,$XAR_DIR/lib64,--enable-new-dtags"
XAR_RPATH="$XAR_RPATH -Wl,-rpath,$XAR_DIR/lib32,--enable-new-dtags"
LDFLAGS="$LDFLAGS $XAR_RPATH"
fi
if test "x$isdarwin" = "xyes"; then
XAR_RPATH="-Wl,-rpath,$XAR_DIR/lib"
LDFLAGS="$LDFLAGS $XAR_RPATH"
fi
fi
XAR_LIB=""
AC_CHECK_LIB([xar],[xar_prop_create],[
AC_CHECK_HEADERS([xar/xar.h], [XAR_LIB=-lxar])], [])
AC_SUBST(XAR_LIB)
AC_SUBST(XAR_LIB)
fi
fi
### Check for Apple TAPI library ###
AC_ARG_ENABLE([tapi-support],
AS_HELP_STRING([--enable-tapi-support],
[enable tapi support]),
[], [enable_tapi_support=yes])
if test "x$enable_tapi_support" = "xyes"; then
AC_ARG_WITH([libtapi],
AS_HELP_STRING([--with-libtapi],
[path to the apple tapi library]),
[LIBTAPI_DIR=$with_libtapi], [LIBTAPI_DIR=""])
if test "x$LIBTAPI_DIR" = "xno"; then
LIBTAPI_DIR=""
fi
if test "x$LIBTAPI_DIR" != "x"; then
CXXFLAGS="$CXXFLAGS -isystem $LIBTAPI_DIR/include"
CPPFLAGS="$CPPFLAGS -isystem $LIBTAPI_DIR/include"
test -d "$LIBTAPI_DIR/lib" && LDFLAGS="$LDFLAGS -L$LIBTAPI_DIR/lib"
test -d "$LIBTAPI_DIR/lib64" && LDFLAGS="$LDFLAGS -L$LIBTAPI_DIR/lib64"
test -d "$LIBTAPI_DIR/lib32" && LDFLAGS="$LDFLAGS -L$LIBTAPI_DIR/lib32"
if test "x$rpathlink" = "xyes"; then
LIBTAPI_RPATH="-Wl,-rpath,$LIBTAPI_DIR/lib,--enable-new-dtags"
LIBTAPI_RPATH="$LIBTAPI_RPATH -Wl,-rpath,$LIBTAPI_DIR/lib64,--enable-new-dtags"
LIBTAPI_RPATH="$LIBTAPI_RPATH -Wl,-rpath,$LIBTAPI_DIR/lib32,--enable-new-dtags"
LDFLAGS="$LDFLAGS $LIBTAPI_RPATH"
fi
if test "x$isdarwin" = "xyes"; then
LIBTAPI_RPATH="-Wl,-rpath,$LIBTAPI_DIR/lib"
LDFLAGS="$LDFLAGS $LIBTAPI_RPATH"
fi
fi
TAPI_LIB=""
AC_CACHE_CHECK([tapi/tapi.h and libtapi support],[cctools_cv_tapi_support],
AC_LANG_PUSH([C++])
save_LIBS="$LIBS"
LIBS="$LIBS -ltapi"
AC_TRY_LINK([#include <tapi/tapi.h>],
[return tapi::APIVersion::getMajor();],
[cctools_cv_tapi_support=yes],
[cctools_cv_tapi_support=no])
LIBS="$save_LIBS"
AC_LANG_POP([C++])
)
if test $cctools_cv_tapi_support = yes; then
TAPI_LIB=-ltapi
TAPI_DEF=-DTAPI_SUPPORT
else
if test "x$LIBTAPI_DIR" != "x"; then
AC_MSG_ERROR([-- ERROR: Failed TAPI checks in $LIBTAPI_DIR])
exit 1
fi
echo ""
echo "### Building without TAPI support ###"
echo "### See README.md -> DEPENDENCIES ###"
echo ""
fi
AC_SUBST(TAPI_LIB)
AC_SUBST(TAPI_DEF)
fi
### Check whether we want to use clang as assembler ###
@ -342,7 +456,7 @@ AC_C_BIGENDIAN([AC_SUBST([ENDIAN_FLAG],[-D__BIG_ENDIAN__=1])],
[AC_SUBST([ENDIAN_FLAG],[-D__LITTLE_ENDIAN__=1])])
AC_CONFIG_FILES([Makefile libstuff/Makefile])
AC_CONFIG_FILES([Makefile libstuff/Makefile libmacho/Makefile])
AC_CONFIG_FILES([ar/Makefile])
AC_CONFIG_FILES([as/Makefile])
AC_CONFIG_FILES([as/arm/Makefile])
@ -350,15 +464,13 @@ AC_CONFIG_FILES([as/i386/Makefile])
AC_CONFIG_FILES([as/x86_64/Makefile])
AC_CONFIG_FILES([as/ppc/Makefile])
AC_CONFIG_FILES([as/ppc64/Makefile])
#AC_CONFIG_FILES([man/Makefile])
AC_CONFIG_FILES([man/Makefile])
AC_CONFIG_FILES([misc/Makefile])
AC_CONFIG_FILES([otool/Makefile])
if test "x$isdarwin" != "xyes"; then
AC_CONFIG_FILES([libobjc2/Makefile])
fi
AC_CONFIG_FILES([efitools/Makefile])
AC_CONFIG_FILES([libobjc2/Makefile])
AC_CONFIG_FILES([ld64/Makefile])
AC_CONFIG_FILES([ld64/doc/man/Makefile])
AC_CONFIG_FILES([ld64/src/Makefile])
AC_CONFIG_FILES([ld64/src/3rd/Makefile])
AC_CONFIG_FILES([ld64/src/3rd/BlocksRuntime/Makefile])

View File

@ -0,0 +1,15 @@
bin_PROGRAMS = \
makerelocs \
mtoc \
mtor
LDADD = \
$(top_builddir)/libstuff/libstuff.la \
$(REALLOCF_LIB) \
$(DL_LIB)
AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff $(WARNINGS) $(LTO_DEF) -D__DARWIN_UNIX03 $(ENDIAN_FLAG)
makerelocs_SOURCES= makerelocs.c
mtoc_SOURCES= mtoc.c
mtor_SOURCES= mtor.c

View File

@ -0,0 +1,674 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
bin_PROGRAMS = makerelocs$(EXEEXT) mtoc$(EXEEXT) mtor$(EXEEXT)
subdir = efitools
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_makerelocs_OBJECTS = makerelocs.$(OBJEXT)
makerelocs_OBJECTS = $(am_makerelocs_OBJECTS)
makerelocs_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
makerelocs_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
am_mtoc_OBJECTS = mtoc.$(OBJEXT)
mtoc_OBJECTS = $(am_mtoc_OBJECTS)
mtoc_LDADD = $(LDADD)
mtoc_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_mtor_OBJECTS = mtor.$(OBJEXT)
mtor_OBJECTS = $(am_mtor_OBJECTS)
mtor_LDADD = $(LDADD)
mtor_DEPENDENCIES = $(top_builddir)/libstuff/libstuff.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(makerelocs_SOURCES) $(mtoc_SOURCES) $(mtor_SOURCES)
DIST_SOURCES = $(makerelocs_SOURCES) $(mtoc_SOURCES) $(mtor_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
LDADD = \
$(top_builddir)/libstuff/libstuff.la \
$(REALLOCF_LIB) \
$(DL_LIB)
AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign -I$(top_srcdir)/libstuff $(WARNINGS) $(LTO_DEF) -D__DARWIN_UNIX03 $(ENDIAN_FLAG)
makerelocs_SOURCES = makerelocs.c
mtoc_SOURCES = mtoc.c
mtor_SOURCES = mtor.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps efitools/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps efitools/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
|| test -f $$p1 \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
makerelocs$(EXEEXT): $(makerelocs_OBJECTS) $(makerelocs_DEPENDENCIES) $(EXTRA_makerelocs_DEPENDENCIES)
@rm -f makerelocs$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(makerelocs_OBJECTS) $(makerelocs_LDADD) $(LIBS)
mtoc$(EXEEXT): $(mtoc_OBJECTS) $(mtoc_DEPENDENCIES) $(EXTRA_mtoc_DEPENDENCIES)
@rm -f mtoc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(mtoc_OBJECTS) $(mtoc_LDADD) $(LIBS)
mtor$(EXEEXT): $(mtor_OBJECTS) $(mtor_DEPENDENCIES) $(EXTRA_mtor_DEPENDENCIES)
@rm -f mtor$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(mtor_OBJECTS) $(mtor_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -31,6 +31,7 @@
#include "stuff/ofile.h"
#include "stuff/errors.h"
#include "stuff/reloc.h"
#include "stuff/write64.h"
#include "coff/base_relocs.h"
#include "coff/bytesex.h"
#include "mach-o/x86_64/reloc.h"
@ -474,7 +475,8 @@ char *out)
target_byte_sex);
}
// write out the block then start a new one
write(f, fb, size);
if (write64(f, fb, size) != size)
fatal("failed to write block");
entries = 0;
blockcnt++;
@ -501,7 +503,8 @@ char *out)
swap_base_relocation_entry(b, entries, target_byte_sex);
}
/* write out the last block */
write(f, fb, size);
if (write64(f, fb, size) != size)
fatal("failed to write last block");
blockcnt++;
close(f);

View File

@ -35,6 +35,7 @@
#include "stuff/allocate.h"
#include "stuff/reloc.h"
#include "stuff/rnd.h"
#include "stuff/write64.h"
#include "coff/ms_dos_stub.h"
#include "coff/filehdr.h"
@ -58,6 +59,9 @@ static enum bool swapped;
/* the size of the pecoff output file */
static uint32_t output_size = 0;
static uint32_t majorVersion = 0;
static uint32_t minorVersion = 0;
/*
* The headers, and elements of them in the pecoff output file.
*/
@ -339,7 +343,7 @@ char **envp)
"option");
usage();
}
section_alignment = strtoul(argv[i+1], &endp, 16);
section_alignment = (uint32_t)strtoul(argv[i+1], &endp, 16);
if(*endp != '\0')
fatal("argument for -section_alignment %s not a proper "
"hexadecimal number", argv[i+1]);
@ -363,7 +367,7 @@ char **envp)
warning("no argument specified for -align option");
usage();
}
file_alignment = strtoul(argv[i+1], &endp, 16);
file_alignment = (uint32_t)strtoul(argv[i+1], &endp, 16);
if(*endp != '\0')
fatal("argument for -align %s not a proper hexadecimal "
"number", argv[i+1]);
@ -383,6 +387,18 @@ char **envp)
section_alignment = file_alignment;
i++;
}
else if(strcmp(argv[i], "-version") == 0){
if(i + 1 >= argc){
warning("no argument specified for -version option");
usage();
}
if (sscanf(argv[i+1], "%u.%u", &majorVersion,
&minorVersion) != 2){
warning("invalid argument specified for -version option");
usage();
}
i++;
}
else if(input == NULL)
input = argv[i];
else if(output == NULL)
@ -438,7 +454,8 @@ usage(
void)
{
fprintf(stderr, "Usage: %s [-subsystem type] "
"[-section_alignment hexvalue] [-align hexvalue] [-d debug_filename] "
"[-section_alignment hexvalue] [-align hexvalue] "
"[-version major.minor] [-ddebug_filename] "
"[-u debug_guid] input_Mach-O output_pecoff\n", progname);
exit(EXIT_FAILURE);
}
@ -669,7 +686,6 @@ struct arch *arch)
switch(arch->object->mh_cputype){
case CPU_TYPE_I386:
switch((int)flavor){
i386_thread_state_t *cpu;
case i386_THREAD_STATE:
#if i386_THREAD_STATE == 1
case -1:
@ -678,9 +694,12 @@ struct arch *arch)
#if i386_THREAD_STATE == -1
case 1:
#endif /* i386_THREAD_STATE == -1 */
cpu = (i386_thread_state_t *)state;
{
i386_thread_state_t *cpu =
(i386_thread_state_t *)state;
entry = cpu->eip;
state += sizeof(i386_thread_state_t);
}
break;
default:
state += count * sizeof(uint32_t);
@ -689,11 +708,13 @@ struct arch *arch)
break;
case CPU_TYPE_ARM:
switch(flavor){
arm_thread_state_t *cpu;
case ARM_THREAD_STATE:
cpu = (arm_thread_state_t *)state;
{
arm_thread_state_t *cpu =
(arm_thread_state_t *)state;
entry = cpu->__pc;
state += sizeof(arm_thread_state_t);
}
break;
default:
state += count * sizeof(uint32_t);
@ -776,7 +797,7 @@ struct arch *arch)
scnhdrs[j].s_vsize = sg->vmsize;
#endif
scnhdrs[j].s_vaddr = sg->vmaddr;
scnhdrs[j].s_size = rnd(sg->filesize, file_alignment);
scnhdrs[j].s_size = rnd32(sg->filesize, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -794,7 +815,7 @@ struct arch *arch)
scnhdrs[j].s_vsize = sg->vmsize;
#endif
scnhdrs[j].s_vaddr = sg->vmaddr;
scnhdrs[j].s_size = rnd(sg->filesize, file_alignment);
scnhdrs[j].s_size = rnd32(sg->filesize, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -841,7 +862,7 @@ struct arch *arch)
strcpy(scnhdrs[j].s_name, ".import");
scnhdrs[j].s_vsize = sg->vmsize;
scnhdrs[j].s_vaddr = sg->vmaddr;
scnhdrs[j].s_size = rnd(sg->filesize, file_alignment);
scnhdrs[j].s_size = rnd32(sg->filesize, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -882,9 +903,9 @@ struct arch *arch)
if(reloc_size != 0){
strcpy(scnhdrs[j].s_name, ".reloc");
scnhdrs[j].s_vsize = reloc_size;
reloc_addr = rnd(reloc_addr, section_alignment);
reloc_addr = rnd32(reloc_addr, section_alignment);
scnhdrs[j].s_vaddr = reloc_addr;
scnhdrs[j].s_size = rnd(reloc_size, file_alignment);
scnhdrs[j].s_size = rnd32(reloc_size, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -897,14 +918,14 @@ struct arch *arch)
debug_addr = reloc_addr + reloc_scnhdr->s_size;
}
else{
debug_addr = rnd(reloc_addr, section_alignment);
debug_addr = rnd32(reloc_addr, section_alignment);
}
if(debug_filename != NULL){
strcpy(scnhdrs[j].s_name, ".debug");
scnhdrs[j].s_vsize = debug_size;
scnhdrs[j].s_vaddr = debug_addr;
scnhdrs[j].s_size = rnd(debug_size, file_alignment);
scnhdrs[j].s_size = rnd32(debug_size, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -1015,11 +1036,17 @@ struct arch *arch)
#ifdef x86_THREAD_STATE64
case CPU_TYPE_X86_64:
switch(flavor){
x86_thread_state64_t *cpu64;
case x86_THREAD_STATE64:
cpu64 = (x86_thread_state64_t *)state;
entry = cpu64->rip;
{
x86_thread_state64_t *cpu64 =
(x86_thread_state64_t *)state;
/*
* The aouthdr_64 struct only allows for a
* 32-bit entry point.
*/
entry = (uint32_t)cpu64->rip;
state += sizeof(x86_thread_state64_t);
}
break;
default:
state += count * sizeof(uint32_t);
@ -1030,11 +1057,17 @@ struct arch *arch)
#ifdef ARM_THREAD_STATE64
case CPU_TYPE_ARM64:
switch(flavor){
arm_thread_state64_t *cpu64;
case ARM_THREAD_STATE64:
cpu64 = (arm_thread_state64_t *)state;
entry = cpu64->__pc;
{
arm_thread_state64_t *cpu64 =
(arm_thread_state64_t *)state;
/*
* The aouthdr_64 struct only allows for a
* 32-bit entry point.
*/
entry = (uint32_t)cpu64->__pc;
state += sizeof(arm_thread_state64_t);
}
break;
default:
state += count * sizeof(uint32_t);
@ -1111,9 +1144,10 @@ struct arch *arch)
#ifndef HACK_TO_MATCH_TEST_CASE
if(strcmp(sg64->segname, SEG_TEXT) == 0){
strcpy(scnhdrs[j].s_name, ".text");
scnhdrs[j].s_vsize = sg64->vmsize;
scnhdrs[j].s_vaddr = sg64->vmaddr;
scnhdrs[j].s_size = rnd(sg64->filesize, file_alignment);
scnhdrs[j].s_vsize = (uint32_t)sg64->vmsize;
scnhdrs[j].s_vaddr = (uint32_t)sg64->vmaddr;
scnhdrs[j].s_size = (uint32_t)rnd64(sg64->filesize,
file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -1125,9 +1159,10 @@ struct arch *arch)
}
else if(strcmp(sg64->segname, SEG_DATA) == 0){
strcpy(scnhdrs[j].s_name, ".data");
scnhdrs[j].s_vsize = sg64->vmsize;
scnhdrs[j].s_vaddr = sg64->vmaddr;
scnhdrs[j].s_size = rnd(sg64->filesize, file_alignment);
scnhdrs[j].s_vsize = (uint32_t)sg64->vmsize;
scnhdrs[j].s_vaddr = (uint32_t)sg64->vmaddr;
scnhdrs[j].s_size = (uint32_t)rnd64(sg64->filesize,
file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -1176,8 +1211,8 @@ struct arch *arch)
strcpy(scnhdrs[j].s_name, ".reloc");
scnhdrs[j].s_vsize = reloc_size;
reloc_addr = rnd(reloc_addr, section_alignment);
scnhdrs[j].s_vaddr = reloc_addr;
scnhdrs[j].s_size = rnd(reloc_size, file_alignment);
scnhdrs[j].s_vaddr = (uint32_t)reloc_addr;
scnhdrs[j].s_size = rnd32(reloc_size, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -1198,8 +1233,8 @@ struct arch *arch)
if(debug_filename != NULL){
strcpy(scnhdrs[j].s_name, ".debug");
scnhdrs[j].s_vsize = debug_size;
scnhdrs[j].s_vaddr = debug_addr;
scnhdrs[j].s_size = rnd(debug_size, file_alignment);
scnhdrs[j].s_vaddr = (uint32_t)debug_addr;
scnhdrs[j].s_size = rnd32(debug_size, file_alignment);
scnhdrs[j].s_relptr = 0;
scnhdrs[j].s_lnnoptr = 0;
scnhdrs[j].s_nlnno = 0;
@ -1244,7 +1279,7 @@ struct ofile *ofile)
header_size += sizeof(struct aouthdr);
else
header_size += sizeof(struct aouthdr_64);
header_size = rnd(header_size, file_alignment);
header_size = rnd32(header_size, file_alignment);
#ifdef HACK_TO_MATCH_TEST_CASE
/* for some unknown reason the header size is 0x488 not 0x400 */
if(ofile->mh64 != NULL)
@ -1305,7 +1340,7 @@ struct ofile *ofile)
#ifdef HACK_TO_MATCH_TEST_CASE
if(ofile->mh != NULL)
#endif
offset = rnd(offset, file_alignment);
offset = rnd32(offset, file_alignment);
#ifdef HACK_TO_MATCH_TEST_CASE
else{
/* for some unknown reason the next offset is moved up
@ -1368,7 +1403,7 @@ struct ofile *ofile)
else
filehdr.f_timdat = 0x47671e62;
#else
filehdr.f_timdat = time(NULL);
filehdr.f_timdat = (uint32_t)time(NULL);
#endif
filehdr.f_symptr = syment_offset;
filehdr.f_nsyms = nsyments;
@ -1395,9 +1430,9 @@ struct ofile *ofile)
aouthdr.tsize = 0;
aouthdr.dsize = 0;
aouthdr.bsize = 0;
aouthdr.SizeOfImage = rnd(header_size, section_alignment);
aouthdr.SizeOfImage = rnd32(header_size, section_alignment);
for(i = 0; i < nscns; i++){
aouthdr.SizeOfImage += rnd(scnhdrs[i].s_vsize, section_alignment);
aouthdr.SizeOfImage += rnd32(scnhdrs[i].s_vsize, section_alignment);
}
aouthdr.entry = entry;
@ -1422,8 +1457,8 @@ struct ofile *ofile)
aouthdr.FileAlignment = file_alignment;
aouthdr.MajorOperatingSystemVersion = 0;
aouthdr.MinorOperatingSystemVersion = 0;
aouthdr.MajorImageVersion = 0;
aouthdr.MinorImageVersion = 0;
aouthdr.MajorImageVersion = majorVersion;
aouthdr.MinorImageVersion = minorVersion;
aouthdr.MajorSubsystemVersion = 0;
aouthdr.MinorSubsystemVersion = 0;
aouthdr.Win32VersionValue = 0;
@ -1462,7 +1497,7 @@ struct ofile *ofile)
aouthdr64.dsize = 0;
aouthdr64.bsize = 0;
aouthdr64.SizeOfImage = rnd(header_size, section_alignment);
aouthdr64.SizeOfImage = rnd32(header_size, section_alignment);
for(i = 0; i < nscns; i++){
aouthdr64.SizeOfImage += rnd(scnhdrs[i].s_vsize, section_alignment);
}
@ -1471,7 +1506,10 @@ struct ofile *ofile)
just a quick hack to match the PECOFF file */
aouthdr64.dsize = 0x200;
#endif
/*
* The aouthdr_64 struct only allows for a
* 32-bit entry point.
*/
aouthdr64.entry = entry;
#ifdef HACK_TO_MATCH_TEST_CASE
aouthdr64.entry = 0x4a2;
@ -1496,8 +1534,8 @@ struct ofile *ofile)
aouthdr64.FileAlignment = file_alignment;
aouthdr64.MajorOperatingSystemVersion = 0;
aouthdr64.MinorOperatingSystemVersion = 0;
aouthdr64.MajorImageVersion = 0;
aouthdr64.MinorImageVersion = 0;
aouthdr64.MajorImageVersion = majorVersion;
aouthdr64.MinorImageVersion = minorVersion;
aouthdr64.MajorSubsystemVersion = 0;
aouthdr64.MinorSubsystemVersion = 0;
aouthdr64.Win32VersionValue = 0;
@ -1654,7 +1692,7 @@ char *out)
if(f == -1)
system_fatal("Can't create output file: %s", out);
if(write(f, buf, output_size) != output_size)
if(write64(f, buf, output_size) != (ssize_t)output_size)
system_fatal("Can't write output file: %s", out);
if(close(f) == -1)
@ -2015,7 +2053,7 @@ struct arch *arch)
if((syms64[i].n_type & N_STAB) == 0 &&
syms64[i].n_un.n_strx != 0 &&
strcmp(strs + syms64[i].n_un.n_strx, entry_point) == 0){
entry = syms64[i].n_value;
entry = (uint32_t)syms64[i].n_value;
break;
}
}
@ -2163,11 +2201,11 @@ struct arch *arch)
swap_relocation_info(relocs, s64[j].nreloc,
host_byte_sex);
if(arch->object->mh_cputype == CPU_TYPE_X86_64)
gather_base_reloc_info(s64[j].addr, relocs,
gather_base_reloc_info((uint32_t)s64[j].addr, relocs,
s64[j].nreloc, CPU_TYPE_X86_64, 3,
X86_64_RELOC_UNSIGNED, IMAGE_REL_BASED_DIR64);
else if(arch->object->mh_cputype == CPU_TYPE_ARM64)
gather_base_reloc_info(s64[j].addr, relocs,
gather_base_reloc_info((uint32_t)s64[j].addr, relocs,
s64[j].nreloc, CPU_TYPE_ARM64, 3,
ARM64_RELOC_UNSIGNED, IMAGE_REL_BASED_DIR64);
if((s64[j].flags & SECTION_TYPE) ==
@ -2188,20 +2226,24 @@ struct arch *arch)
if(swapped)
swap_relocation_info(relocs, dyst->nlocrel, host_byte_sex);
if(arch->object->mh_cputype == CPU_TYPE_I386)
gather_base_reloc_info(first_addr, relocs, dyst->nlocrel,
CPU_TYPE_I386, 2, GENERIC_RELOC_VANILLA,
gather_base_reloc_info((uint32_t)first_addr, relocs,
dyst->nlocrel, CPU_TYPE_I386, 2,
GENERIC_RELOC_VANILLA,
IMAGE_REL_BASED_HIGHLOW);
else if(arch->object->mh_cputype == CPU_TYPE_ARM)
gather_base_reloc_info(first_addr, relocs, dyst->nlocrel,
CPU_TYPE_ARM, 2, GENERIC_RELOC_VANILLA,
gather_base_reloc_info((uint32_t)first_addr, relocs,
dyst->nlocrel, CPU_TYPE_ARM, 2,
GENERIC_RELOC_VANILLA,
IMAGE_REL_BASED_HIGHLOW);
else if(arch->object->mh_cputype == CPU_TYPE_X86_64)
gather_base_reloc_info(first_addr, relocs, dyst->nlocrel,
CPU_TYPE_X86_64, 3, X86_64_RELOC_UNSIGNED,
gather_base_reloc_info((uint32_t)first_addr, relocs,
dyst->nlocrel, CPU_TYPE_X86_64, 3,
X86_64_RELOC_UNSIGNED,
IMAGE_REL_BASED_DIR64);
else if(arch->object->mh_cputype == CPU_TYPE_ARM64)
gather_base_reloc_info(first_addr, relocs, dyst->nlocrel,
CPU_TYPE_ARM64, 3, ARM64_RELOC_UNSIGNED,
gather_base_reloc_info((uint32_t)first_addr, relocs,
dyst->nlocrel, CPU_TYPE_ARM64, 3,
ARM64_RELOC_UNSIGNED,
IMAGE_REL_BASED_DIR64);
}
/*
@ -2322,7 +2364,7 @@ void)
int blockcnt;
int i, entries;
uint64_t base;
int size;
int size, s_size, pad;
char *fb;
struct base_relocation_block_header *h;
struct base_relocation_entry *b;
@ -2366,7 +2408,7 @@ void)
b = (struct base_relocation_entry *)
(fb + sizeof(struct base_relocation_block_header));
for(i = 0; i < nbase_reloc; i++){
offset = base_relocs[i].addr - base;
offset = (uint32_t)(base_relocs[i].addr - base);
if(offset >= MAX_BLOCK_OFFSET) {
/* add padding if needed */
if((entries % 2) != 0){
@ -2374,7 +2416,7 @@ void)
b[entries].offset = 0;
entries++;
}
h->page_rva = base;
h->page_rva = (uint32_t)base;
size = sizeof(struct base_relocation_block_header) +
entries * sizeof(struct base_relocation_entry);
h->block_size = size;
@ -2392,7 +2434,7 @@ void)
entries = 0;
blockcnt++;
base = base_relocs[i].addr & ~BLOCK_MASK;
offset = base_relocs[i].addr - base;
offset = (uint32_t)(base_relocs[i].addr - base);
}
b[entries].type = base_relocs[i].type;
b[entries].offset = offset;
@ -2405,7 +2447,7 @@ void)
b[entries].offset = 0;
entries++;
}
h->page_rva = base;
h->page_rva = (uint32_t)base;
size = sizeof(struct base_relocation_block_header) +
entries * sizeof(struct base_relocation_entry);
h->block_size = size;
@ -2419,6 +2461,15 @@ void)
memcpy(reloc_contents + reloc_size, fb, size);
reloc_size += size;
/*
* The make the relocs buffer the s_size rounded to file_alignment and
* zero out the padding
*/
s_size = rnd32(reloc_size, file_alignment);
pad = s_size - reloc_size;
reloc_contents = reallocate(reloc_contents, s_size);
memset(reloc_contents + reloc_size, '\0', pad);
blockcnt++;
free(fb);
}
@ -2447,7 +2498,7 @@ create_debug(
struct arch *arch)
{
char *p;
uint32_t i, ncmds;
uint32_t i, ncmds, s_size;
struct load_command *lc;
struct uuid_command *uuid;
@ -2459,9 +2510,14 @@ struct arch *arch)
*/
debug_size = sizeof(struct debug_directory_entry) +
sizeof(struct mtoc_debug_info) +
strlen(debug_filename) + 1;
debug_contents = allocate(debug_size);
memset(debug_contents, '\0', debug_size);
(uint32_t)strlen(debug_filename) + 1;
/*
* The make the debug buffer the s_size rounded to the file_alignment
* and also zero out the padding
*/
s_size = rnd32(debug_size, file_alignment);
debug_contents = allocate(s_size);
memset(debug_contents, '\0', s_size);
/*
* Set up pointers to all the parts to be filled in.
*/
@ -2472,12 +2528,12 @@ struct arch *arch)
p += sizeof(struct mtoc_debug_info);
dde->Characteristics = 0;
dde->TimeDateStamp = time(NULL);
dde->TimeDateStamp = (uint32_t)time(NULL);
dde->MajorVersion = 0;
dde->MinorVersion = 0;
dde->Type = IMAGE_DEBUG_TYPE_CODEVIEW;
dde->SizeOfData = sizeof(struct mtoc_debug_info) +
strlen(debug_filename) + 1;
(uint32_t)strlen(debug_filename) + 1;
/*
* These two will be filled in later when address and offsets
* are known.

810
cctools/efitools/mtor.c Normal file
View File

@ -0,0 +1,810 @@
/*
* Copyright (c) 2018 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#include "stuff/breakout.h"
#include "stuff/errors.h"
#include "stuff/ofile.h"
#include "stuff/write64.h"
#include "stuff/port.h" /* cctools-port */
#include <fcntl.h>
#include <mach-o/loader.h>
#include <mach-o/nlist.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
/* used by error routines as the name of this program */
char *progname = NULL;
/* command-line flags */
struct flags {
enum bool verbose;
enum bool dry_run;
enum bool start;
enum bool no_bss;
uint64_t start_addr;
const char* data_lma_sym;
const char* data_size_sym;
uint64_t data_lma_loc;
uint64_t data_size_loc;
} g_flags;
struct segentry {
char* segname;
uint64_t vmaddr;
uint64_t vmsize;
uint64_t fileoff;
uint64_t filesize;
uint64_t out_fileoff;
uint64_t out_filesize;
};
struct sectentry {
struct segentry* seg;
char* segname;
char* sectname;
uint64_t addr;
uint64_t size;
uint64_t offset;
uint32_t align;
uint32_t flags;
};
struct symbol {
char* name;
uint8_t n_type;
uint8_t n_sect;
uint64_t n_value;
};
struct segentry* g_segs = NULL;
struct sectentry* g_sects = NULL;
struct symbol* g_syms = NULL;
uint32_t g_nseg = 0;
uint32_t g_nsect = 0;
uint32_t g_nsym = 0;
static void get_segments(const struct ofile* ofile,
struct segentry** o_segs, uint32_t* o_nseg,
struct sectentry** o_sects, uint32_t* o_nsect);
static void get_symbols(const struct ofile* ofile,
struct symbol** o_syms, uint32_t* o_nsym);
static void find_data_symbols(const struct ofile* ofile);
static void process(const struct ofile* ofile, const char* output);
static void usage(void);
/* apple_version is created by the libstuff/Makefile */
extern char apple_version[];
char *apple_version_str = apple_version;
/*
* The mtor(1) tool makes a raw binary file from a fully linked Mach-O
* MH_PRELOAD file. These are meant to be in-core images in either a
* ready-to-run layout, or with an embedded startup that knows how to
* relocate/re-layout the image at runtime.
*
* mtor [-nv] [-start] [-no_bss] input_Mach-O output_raw
*
* Caveat mtor: input files must contain one architecture.
*/
int main(int argc, char **argv)
{
enum bool read_options = TRUE;
char* input = NULL;
char* output = NULL;
progname = *argv++;
argc--;
memset(&g_flags, 0, sizeof(g_flags));
if (argc == 0)
usage();
/* parse args */
while (argc > 0)
{
if (read_options && *argv && '-' == **argv)
{
if (0 == strcmp("-h", *argv) ||
0 == strcmp("-help", *argv))
{
usage();
}
else if (0 == strcmp(*argv, "-no_bss"))
{
g_flags.no_bss = TRUE;
}
else if (0 == strcmp("-o", *argv) ||
0 == strcmp("-output", *argv))
{
argv++; argc--;
if (!*argv) {
warning("one output file must be specified");
usage();
}
if (output) {
warning("only one output file must be specified");
usage();
}
output = strdup(*argv);
}
else if (0 == strcmp("-packdata", *argv))
{
if (g_flags.data_lma_sym) {
warning("-packdata specified more than once");
usage();
}
argv++; argc--;
if (!*argv) {
warning("data lma symbol name must be specified");
usage();
}
g_flags.data_lma_sym = strdup(*argv);
argv++; argc--;
if (!*argv) {
warning("data size symbol name must be specified");
usage();
}
g_flags.data_size_sym = strdup(*argv);
}
else if (0 == strcmp(*argv, "-start") ||
0 == strcmp(*argv, "-image_base") ||
0 == strcmp(*argv, "-seg1addr"))
{
const char* option = *argv;
argv++; argc--;
if (!*argv) {
warning("one start address must be specified for %s",
option);
usage();
}
if (g_flags.start) {
warning("only one start address must be specified");
usage();
}
char *endp;
g_flags.start_addr = (uint64_t)strtoull(*argv, &endp, 16);
if (*endp != '\0') {
fatal("%s not a proper hexadecimal number", *argv);
}
g_flags.start = TRUE;
}
else if (0 == strcmp("-version", *argv))
{
printf("%s\n", apple_version_str);
if (argc < 2)
exit(EXIT_SUCCESS);
}
else if (0 == strcmp("--", *argv))
{
read_options = FALSE;
}
else {
for (int j = 1; (*argv)[j]; ++j)
{
if ('n' == (*argv)[j]) {
g_flags.verbose = TRUE;
g_flags.dry_run = TRUE;
}
else if ('v' == (*argv)[j]) {
g_flags.verbose = TRUE;
}
else {
warning("unknown flag -%c", (*argv)[j]);
usage();
}
}
}
}
else {
if (input) {
warning("only one input file must be specified");
usage();
}
input = strdup(*argv);
}
argv++; argc--;
}
/* check for required parameters */
if (!input) {
warning("no input file specified");
usage();
}
if (!output) {
warning("no output file specified");
usage();
}
/* breakout the file for processing */
struct arch *archs;
uint32_t narchs;
struct ofile *ofile = breakout(input, &archs, &narchs, FALSE);
if (errors || !ofile)
return(EXIT_FAILURE);
/* checkout the file for symbol table replacement processing */
checkout(archs, narchs);
/* perform other input checking */
if (OFILE_FAT == ofile->file_type)
fatal("file: %s is a fat file (%s only operates on Mach-O files, "
"use lipo(1) on it to get a Mach-O file)", input, progname);
if (OFILE_Mach_O != archs->type)
fatal("input file: %s must be a Mach-O file", input);
if (NULL != archs->object->mh){
if (MH_PRELOAD != archs->object->mh->filetype) {
fatal("input file: %s must be an MH_PRELOAD file type",
archs->file_name);
}
} else {
if (MH_PRELOAD != archs->object->mh64->filetype) {
fatal("input file: %s must be an MH_PRELOAD file type",
archs->file_name);
}
}
get_segments(ofile, &g_segs, &g_nseg, &g_sects, &g_nsect);
get_symbols(ofile, &g_syms, &g_nsym);
find_data_symbols(ofile);
/* do it! */
process(ofile, output);
/* clean up */
free_archs(archs, narchs);
ofile_unmap(ofile);
free(input);
free(output);
/* exit */
if (!errors)
return(EXIT_SUCCESS);
else
return(EXIT_FAILURE);
}
static void get_segments(const struct ofile* ofile,
struct segentry** o_segs, uint32_t* o_nseg,
struct sectentry** o_sects, uint32_t* o_nsect)
{
uint32_t nseg = 0;
uint32_t nsect = 0;
*o_segs = NULL;
*o_sects = NULL;
*o_nseg = 0;
*o_nsect = 0;
/* count the segments and sections */
uint32_t ncmds = ofile->mh ? ofile->mh->ncmds : ofile->mh64->ncmds;
unsigned char* p = (unsigned char*)(ofile->load_commands);
for (uint32_t i = 0; i < ncmds; ++i)
{
struct load_command* lc = (struct load_command*)p;
p += lc->cmdsize;
if (LC_SEGMENT == lc->cmd)
{
struct segment_command* sg = (struct segment_command*)lc;
nseg += 1;
nsect += sg->nsects;
}
else if (LC_SEGMENT_64 == lc->cmd)
{
struct segment_command_64* sg = (struct segment_command_64*)lc;
nseg += 1;
nsect += sg->nsects;
}
}
/*
* build the segment and section lists.
*/
struct segentry* segs = calloc(nseg, sizeof(*segs));
struct sectentry* sects = calloc(nsect, sizeof(*sects));
uint32_t iseg = 0;
uint32_t isect = 0;
p = (unsigned char*)(ofile->load_commands);
for (uint32_t i = 0; i < ncmds; ++i)
{
struct load_command* lc = (struct load_command*)p;
p += lc->cmdsize;
if (LC_SEGMENT == lc->cmd)
{
struct segentry* segentry = &segs[iseg++];
struct segment_command* sg = (struct segment_command*)lc;
segentry->segname = strdup(sg->segname);
segentry->vmaddr = sg->vmaddr;
segentry->vmsize = sg->vmsize;
segentry->fileoff = sg->fileoff;
segentry->filesize = sg->filesize;
unsigned char* q = (unsigned char*)(sg + 1);
for (uint32_t j = 0; j < sg->nsects; ++j)
{
sects = reallocf(sects, sizeof(struct sectentry) * (nsect + 1));
struct sectentry* sectentry = &sects[isect++];
struct section* sc = (struct section*)q;
q += sizeof(struct section);
if (0 != strcmp(sg->segname, sc->segname)) {
warning("input file %s: %s section %s points to different "
"section name: %s\n", ofile->file_name, sg->segname,
sc->sectname, sc->segname);
}
sectentry->seg = segentry;
sectentry->sectname = strdup(sc->sectname);
sectentry->segname = strdup(sg->segname);
sectentry->addr = sc->addr;
sectentry->size = sc->size;
sectentry->offset = sc->offset;
sectentry->align = sc->align;
sectentry->flags = sc->flags;
}
}
else if (LC_SEGMENT_64 == lc->cmd)
{
struct segentry* segentry = &segs[iseg++];
struct segment_command_64* sg = (struct segment_command_64*)lc;
segentry->segname = strdup(sg->segname);
segentry->vmaddr = sg->vmaddr;
segentry->vmsize = sg->vmsize;
segentry->fileoff = sg->fileoff;
segentry->filesize = sg->filesize;
unsigned char* q = (unsigned char*)(sg + 1);
for (uint32_t j = 0; j < sg->nsects; ++j)
{
sects = reallocf(sects, sizeof(struct sectentry) * (nsect + 1));
struct sectentry* sectentry = &sects[isect++];
struct section_64* sc = (struct section_64*)q;
q += sizeof(struct section_64);
if (0 != strcmp(sg->segname, sc->segname)) {
warning("input file %s: %s section %s points to different "
"section name: %s\n", ofile->file_name, sg->segname,
sc->sectname, sc->segname);
}
sectentry->seg = segentry;
sectentry->sectname = strdup(sc->sectname);
sectentry->segname = strdup(sg->segname);
sectentry->addr = sc->addr;
sectentry->size = sc->size;
sectentry->offset = sc->offset;
sectentry->align = sc->align;
sectentry->flags = sc->flags;
}
}
}
*o_segs = segs;
*o_nseg = nseg;
*o_sects = sects;
*o_nsect = nsect;
}
static void get_symbols(const struct ofile* ofile,
struct symbol** o_syms, uint32_t* o_nsym)
{
struct symtab_command* st = NULL;
*o_syms = NULL;
*o_nsym = 0;
/*
* find the symbol table, if any.
*/
uint32_t ncmds = ofile->mh ? ofile->mh->ncmds : ofile->mh64->ncmds;
unsigned char* p = (unsigned char*)(ofile->load_commands);
for (uint32_t i = 0; i < ncmds; ++i)
{
struct load_command* lc = (struct load_command*)p;
p += lc->cmdsize;
if (LC_SYMTAB == lc->cmd)
{
if (st) {
fatal("input file: %s contains multiple symbol tables",
ofile->file_name);
}
st = (struct symtab_command*)lc;
}
}
if (!st)
return;
struct symbol* syms = calloc(st->nsyms, sizeof(struct symbol));
/*
* record the symbols
*/
if (ofile->mh) {
struct nlist* nl = (struct nlist*)(ofile->file_addr + st->symoff);
char* strings = (char*)ofile->file_addr + st->stroff;
for (uint32_t i = 0; i < st->nsyms; ++i) {
if (nl[i].n_un.n_strx)
syms[i].name = strdup((char*)(strings + nl[i].n_un.n_strx));
else
syms[i].name = strdup("");
syms[i].n_type = nl[i].n_type;
syms[i].n_sect = nl[i].n_sect;
syms[i].n_value = nl[i].n_value;
}
}
else if (ofile->mh64) {
struct nlist_64* nl = (struct nlist_64*)(ofile->file_addr + st->symoff);
char* strings = (char*)ofile->file_addr + st->stroff;
for (uint32_t i = 0; i < st->nsyms; ++i) {
if (nl[i].n_un.n_strx)
syms[i].name = strdup((char*)(strings + nl[i].n_un.n_strx));
else
syms[i].name = strdup("");
syms[i].n_type = nl[i].n_type;
syms[i].n_sect = nl[i].n_sect;
syms[i].n_value = nl[i].n_value;
}
}
*o_syms = syms;
*o_nsym = st->nsyms;
}
static int find_symbol(const struct ofile* ofile, const struct symbol* sym,
const char* name, uint64_t* o_value)
{
if (0 == strcmp(sym->name, name) &&
0 == (sym->n_type & N_STAB))
{
// if (sym->n_type & N_STAB) {
// fatal("input file %s: symbol %s is a STAB symbol",
// ofile->file_name, name);
// }
if (*o_value != 0) {
fatal("input file %s: contains multiple %s Mach-O symbols",
ofile->file_name, name);
}
if ((sym->n_type & N_SECT) != N_SECT) {
fatal("input file %s: symbol %s is not directly defined",
ofile->file_name, name);
}
uint32_t sectord = sym->n_sect;
if (sectord == 0) {
fatal("input file %s: symbol %s is not in any section",
ofile->file_name, name);
}
if (sectord > g_nsect) {
fatal("input file %s: symbol %s has a bad section ordinal "
"(%d > %d)", ofile->file_name, name, sectord, g_nsect);
}
struct sectentry* section = &g_sects[sectord-1];
if (strcmp(SEG_TEXT, section->segname)) {
fatal("input file %s: symbol %s is not in __TEXT segment: (%s, %s)",
ofile->file_name, name, section->segname, section->sectname);
}
if (0 == sym->n_value) {
fatal("input file %s: symbol %s has no storage (n_value)",
ofile->file_name, name);
}
uint64_t offset = section->seg->fileoff + sym->n_value;
uint32_t value = *(uint32_t*)(ofile->file_addr + offset);
if (value) {
warning("input file %s symbol %s has non-zero value: 0x%08x",
ofile->file_name, name, value);
}
*o_value = sym->n_value;
return 0;
}
return -1;
}
static void find_data_symbols(const struct ofile* ofile)
{
if (!g_flags.data_lma_sym || !g_flags.data_size_sym)
return;
for (uint32_t i = 0; i < g_nsym; ++i) {
find_symbol(ofile, &g_syms[i], g_flags.data_lma_sym,
&g_flags.data_lma_loc);
find_symbol(ofile, &g_syms[i], g_flags.data_size_sym,
&g_flags.data_size_loc);
if (g_flags.data_lma_loc && g_flags.data_size_loc) {
break;
}
}
if (!g_flags.data_lma_loc || !g_flags.data_size_loc) {
if (!g_flags.data_lma_loc)
error("input file %s: symbol not found: %s",
ofile->file_name, g_flags.data_lma_sym);
if (!g_flags.data_size_loc)
error("input file %s: symbol not found: %s",
ofile->file_name, g_flags.data_size_sym);
exit(EXIT_FAILURE);
}
}
/*
* process() computes both the source regions of the input file and the
* destination regions of the output file based on the input file and program
* arguments.
*
* The output file represents the Mach-O file's layout in memory. As such, the
* __TEXT and __DATA segments will move from fileoff within the input file to
* vmaddr within the output file. The -start option can be used to override
* the starting location of segment data within the output file. If necessary,
* the output file will be zero-padded to the start of the __TEXT segment.
*
* By default the entire contents of __TEXT and DATA will be copied. The
* -no_bss option can be used to omit the bss and other S_ZEROFILL sections
* from the __DATA segment. __DATA segments truncated in this way will not be
* aligned to page boundaries.
*
* Caveat mtor: The mtor tool cannot relink the input file. Sections and
* segments cannot be re-padded to new page alignments or moved in any way
* other than to slide them all as a group. Make sure the input file is as
* correct as possible by specifying -seg1addr and -segalign to ld(1).
*/
void process(const struct ofile* ofile, const char* output)
{
/*
* Locate the text and data segments. Assume / require there to be one
* text segment, and no more than one data segment.
*/
struct segentry* text = NULL;
struct segentry* data = NULL;
for (uint32_t i = 0; i < g_nseg; ++i)
{
struct segentry* seg = &g_segs[i];
if (0 == strcmp(SEG_TEXT, seg->segname)) {
if (text) {
fatal("input file %s contains multiple __TEXT segments",
ofile->file_name);
}
text = seg;
}
else if (0 == strcmp(SEG_DATA, seg->segname)) {
if (data) {
fatal("input file %s contains multiple __DATA segments",
ofile->file_name);
}
data = seg;
}
}
if (!text) {
error("input file: %s does not contain __TEXT", ofile->file_name);
exit(EXIT_FAILURE);
}
/*
* compute the vmaddr adjustment necessary to start the
* segments at the requested start address.
*/
int64_t startadj = 0;
if (g_flags.start) {
startadj = g_flags.start_addr - text->vmaddr;
}
/*
* verify the sections will still be aligned and compute the remaining
* data size after omitting / truncating any bss sections (if requested).
*/
uint64_t datasize = 0;
uint64_t bsssize = 0;
for (uint32_t i = 0; i < g_nsect; ++i) {
struct sectentry* sect = &g_sects[i];
if ((sect->addr + startadj) % (1 << sect->align)) {
error("input file: %s section %.16s,%.16s addr "
"0x%08llx cannot be aligned to 2^%d (%d)",
ofile->file_name, sect->segname, sect->sectname,
sect->addr + startadj, sect->align,
1 << sect->align);
}
if (sect->seg == data) {
if (((sect->flags & SECTION_TYPE) == S_ZEROFILL) ||
0 == strcmp(sect->sectname, "__common") ||
0 == strcmp(sect->sectname, "__bss")) {
if (g_flags.no_bss)
break;
else
bsssize += sect->size;
}
datasize += sect->size;
}
}
/*
* set compute the destination fileoff and filesizes
*
* if we're writing out bss we're going to lie a little bit here and
* reserve space for the bss data even though the Mach-O does not really
* include this data. This is kind of a hack ...
*/
text->out_fileoff = text->vmaddr + startadj;
text->out_filesize = text->vmsize;
if (data) {
if (g_flags.data_lma_sym) { /* pack data */
data->out_fileoff = text->out_fileoff + text->out_filesize;
}
else {
data->out_fileoff = data->vmaddr + startadj;
}
data->out_filesize = datasize;
}
/*
* determine the size of the final file by measuring the extent of the
* __TEXT and __DATA segments.
*/
size_t output_size = 0;
if (text->vmaddr + text->vmsize > output_size)
output_size = text->out_fileoff + text->out_filesize;
if (data && (data->vmaddr + data->vmsize > output_size))
output_size = data->out_fileoff + data->out_filesize;
/* allocate an output buffer */
unsigned char* buf = calloc(1, output_size);
if (!buf)
fatal("Can't allocate buffer for output file (size = %lu)",
output_size);
/*
* copy the segments into the buffer. __DATA may be omitted / truncated
* if no_bss
*/
for (uint32_t i = 0; i < g_nseg; ++i) {
struct segentry* seg = &g_segs[i];
if (seg != text && seg != data)
break;
if (g_flags.verbose) {
printf("writing %.16s at VMA: 0x%08llx-0x%08llx LMA: "
"0x%08llx-0x%08llx\n", seg->segname,
seg->vmaddr, seg->vmaddr + seg->vmsize,
seg->out_fileoff, seg->out_fileoff + seg->out_filesize);
}
if (!g_flags.dry_run) {
/*
* The Mach-O file does not actually include bss data on disk.
* If we are including bss in the raw data we will need to avoid
* trying to copy bss off disk; otherwise we'll end up pulling in
* fragments of linkedit or we'll spill over our buffer.
*
* Note that if we are not copying bss, this adjustment has already
* been baked into the out_filesize.
*/
uint64_t size = seg->out_filesize;
if (seg == data) {
size -= bsssize;
}
/*
* When copying __DATA, the segment filesize will be non-zero in
* the case where there exist non-bss / zerofill sections. But if
* all the __DATA sections are bss / zerofill, the filesize will
* be zero. So, only copy __DATA from the input file if it has a
* non-zero filesize.
*/
if (size) {
memcpy(buf + seg->out_fileoff, ofile->file_addr + seg->fileoff,
size);
}
}
}
/* poke the packdata values into the text segment */
if (g_flags.data_lma_sym) { /* pack data */
uint32_t* addr;
addr = (uint32_t*)(buf + text->out_fileoff + g_flags.data_lma_loc);
*addr = (uint32_t)(data ? data->out_fileoff : 0);
addr = (uint32_t*)(buf + text->out_fileoff + g_flags.data_size_loc);
*addr = (uint32_t)(data ? data->out_filesize : 0);
}
/* write the raw output file safely */
if (!g_flags.dry_run) {
const char* suffix = ".XXXXXX";
size_t tempsize = strlen(output) + strlen(suffix) + 1;
char* tempname = calloc(1, tempsize);
if (!tempname)
fatal("Can't allocate buffer for output filename (size = %lu)",
tempsize);
if (snprintf(tempname, tempsize, "%s%s", output, suffix) != tempsize -1)
fatal("Can't create temporary name for output file %s", output);
int fd = mkstemp(tempname);
if (-1 == fd) {
system_fatal("Can't create temporary file: %s", tempname);
}
if (write64(fd, buf, output_size) != output_size) {
system_fatal("Can't write temporary file: %s", tempname);
}
if (fchmod(fd, 0644) == -1) {
system_fatal("Can't chmod temporary file: %s", tempname);
}
if (close(fd) == -1) {
system_fatal("Can't close temporary file: %s", tempname);
}
if (rename(tempname, output) == -1) {
system_fatal("Can't write output file: %s", output);
}
}
free(buf);
}
static void usage(void)
{
const char* basename = strrchr(progname, '/');
if (basename)
basename++;
else
basename = progname;
fprintf(stderr,
"usage: %s [-nv] [-no_bss] [-start <start_address>] "
"[-packdata <lma symbol name> <size symbol name>] "
"-output <out_file> <file>\n", basename);
fprintf(stderr,
" %s -help [-version]\n", basename);
fprintf(stderr,
" %s -version\n", basename);
exit(EXIT_FAILURE);
}

View File

@ -1,6 +1,13 @@
# Note that the macros are not used for the install target any more with the
# change to the install(1) program. Edit the install commands.
#
# TAPI supports installapi per default. Allow B&I to change the default and
# print a status message to the log file.
#
SUPPORTS_TEXT_BASED_API ?= YES
$(info SUPPORTS_TEXT_BASED_API=$(SUPPORTS_TEXT_BASED_API))
ifneq "" "$(wildcard /bin/mkdirs)"
MKDIRS = /bin/mkdirs
else
@ -36,6 +43,7 @@ OTHER_SRCS = notes gnu/symseg.h \
stuff/SymLoc.h stuff/dylib_roots.h stuff/guess_short_name.h \
stuff/macosx_deployment_target.h stuff/symbol_list.h \
stuff/symbol.h stuff/unix_standard_mode.h \
stuff/write64.h \
coff/base_relocs.h coff/bytesex.h coff/ms_dos_stub.h \
coff/filehdr.h coff/aouthdr.h coff/scnhdr.h coff/syment.h \
coff/debug_directory.h elf/dwarf2.h llvm-c/Disassembler.h \
@ -60,7 +68,7 @@ GAS_MISSING_SRCS = mach/m68k/thread_status.h \
mach/ppc/thread_status.h \
mach/ppc/_structs.h
MISSING_SRCS = mach/machine.h \
MISSING_SRCS = mach/machine.h mach/slot_name.h \
architecture/i386/fpu.h architecture/i386/frame.h \
i386/eflags.h mach/i386/_structs.h mach/i386/fp_reg.h \
mach/i386/thread_state.h mach/i386/thread_status.h \
@ -107,6 +115,79 @@ installGASsrc:
chmod 755 $(SRCROOT)
gnutar cf - $(GAS_SRC_FILES) | (cd $(SRCROOT); gnutar xf -)
# This is a bit of a hack as 'tapi installapi' should take the RC_CFLAGS or
# RC_ARCHS as there is no way to make up the -target options from the
# RC_* buildit options.
ifeq "$(RC_MACOS)" "YES"
TAPI_TARGET_ARCHS := -target x86_64-apple-macos10.14 \
-target i386-apple-macos10.14 \
-target-variant x86_64-apple-ios12.0-macabi
else
# keep -arch and add version-min for non-OSX toolchains
TAPI_TARGET_ARCHS := $(patsubst %,-arch %,$(RC_ARCHS))
TAPI_TARGET_ARCHS += $(RC_MIN_VERSION_OPTION)
endif
TAPI_COMMON_OPTS = $(TAPI_TARGET_ARCHS) \
-isysroot $(SDKROOT) -I$(SRCROOT)/include \
-extra-public-header $(SRCROOT)/include/mach/slot_name.h \
-exclude-private-header $(DSTROOT)/usr/local/include/cbt/libsyminfo.h \
-exclude-public-header $(DSTROOT)/usr/include/mach-o/ldsyms.h \
-exclude-public-header $(DSTROOT)/usr/include/mach-o/nlist.h \
-dynamiclib -install_name /usr/lib/system/libmacho.dylib \
-compatibility_version 1 \
-current_version $(RC_ProjectSourceVersion) \
-o $(OBJROOT)/libmacho.tbd
DYLIBDIR = /usr/lib/system
TAPI_VERIFY_OPTS := $(TAPI_COMMON_OPTS) \
--verify-mode=Pedantic \
--verify-against=$(DSTROOT)$(DYLIBDIR)/libmacho.dylib \
-umbrella System
# -fapplication-extension
installapi: install
$(MKDIRS) $(DSTROOT)$(DYLIBDIR)
$(MKDIRS) $(OBJROOT)
@echo
@echo ++++++++++++++++++++++
@echo + Running InstallAPI +
@echo ++++++++++++++++++++++
@echo
@if [ "$(SUPPORTS_TEXT_BASED_API)" != "YES" ]; then \
echo -n "installapi for target 'tapi' was requested, " \
echo "but SUPPORTS_TEXT_BASED_API has been disabled."; \
exit 1; \
fi
xcrun --sdk $(SDKROOT) tapi installapi $(TAPI_COMMON_OPTS) $(DSTROOT)
install -d -m 0755 $(DSTROOT)$(DYLIBDIR)
install -c -m 0444 $(OBJROOT)/libmacho.tbd \
$(DSTROOT)$(DYLIBDIR)/libmacho.tbd
# This is again a bit of a hack, as libmacho.dylib would need be built first
# for this to work which is not even done for installhdrs. But it shows the
# command with the needed $(TAPI_VERIFY_OPTS) that could work.
installapi-verify:
$(MKDIRS) $(DSTROOT)$(DYLIBDIR)
$(MKDIRS) $(OBJROOT)
@echo
@echo +++++++++++++++++++++++++++++++++
@echo + Running InstallAPI and Verify +
@echo +++++++++++++++++++++++++++++++++
@echo
@if [ "$(SUPPORTS_TEXT_BASED_API)" != "YES" ]; then \
echo -n "installapi for target 'tapi' was requested, " \
echo "but SUPPORTS_TEXT_BASED_API has been disabled."; \
exit 1; \
fi
xcrun --sdk $(SDKROOT) tapi installapi $(TAPI_VERIFY_OPTS) $(DSTROOT)
install: dirs $(RC_OS)_install
teflon_install macos_install: common_install
@ -156,17 +237,22 @@ common_install:
cd mach-o/m88k; \
install -c -m 444 ${IFLAGS} reloc.h swap.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o/m88k
cd mach-o; \
install -c -m 444 ${IFLAGS} rld.h rld_state.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o
if [ $(OLD_RLD_STUFF) ]; \
then \
cd mach-o; install -c -m 444 ${IFLAGS} rld.h rld_state.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o ; \
fi
if [ $(OLD_DYLD_STUFF) ]; \
then \
cd mach-o; install -c -m 444 ${IFLAGS} dyld_gdb.h dyld_priv.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o ; \
fi
if [ $(OLD_RLD_STUFF) ]; \
then \
cd mach-o; \
install -c -m 444 ${IFLAGS} sarld.h kld.h redo_prebinding.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o
${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o ; \
fi
cd stuff; \
install -c -m 444 ${IFLAGS} bool.h \
${DSTROOT}${$(RC_OS)_LOCINCDIR}/dyld

View File

@ -1,4 +1,19 @@
//fake headers
#ifdef __APPLE__
#include_next <Availability.h>
/*
* If anyone wants to run the linker *on* iOS devices then
* it must be a jailbroken device anyway and thus I don't
* care about prohibited APIs.
*/
#undef __IOS_PROHIBITED
#define __IOS_PROHIBITED
#undef __TVOS_PROHIBITED
#define __TVOS_PROHIBITED
#undef __WATCHOS_PROHIBITED
#define __WATCHOS_PROHIBITED
#endif /* __APPLE__ */

View File

@ -0,0 +1,5 @@
#include_next <dirent.h>
#ifndef MAXNAMLEN
#define MAXNAMLEN NAME_MAX /* DragonFlyBSD and Android */
#endif

View File

@ -67,7 +67,7 @@
#define _MACHTYPES_H_
#ifndef __ASSEMBLER__
#if defined(__NetBSD__) || defined(__OpenBSD__)
#if defined(__NetBSD__)
#include_next <machine/types.h> /* __cpu_simple_lock_t */
#endif /* __NetBSD__ || __OpenBSD__ */
#ifdef __DragonFly__
@ -79,48 +79,101 @@
* Basic integral types. Omit the typedef if
* not possible for a machine/compiler combination.
*/
/* cctools-port: replaced types with compiler defines */
#ifdef __GLIBC__
#ifdef __ARM_32BIT_STATE
/* Heck, why is asm/types.h (glibc) defining this type wrong?!
It's supposed to be 'unsigned int' */
#undef __UINTPTR_TYPE__
#define __UINTPTR_TYPE__ unsigned int
#endif
#endif
#if defined(__clang_major__) && __clang_major__ == 3 && \
__clang_minor__ == 4
#ifndef __UINT8_TYPE__
#define __UINT8_TYPE__ unsigned char
#endif
#ifndef __UINT16_TYPE__
#define __UINT16_TYPE__ unsigned __INT16_TYPE__
#endif
#ifndef __UINT32_TYPE__
#define __UINT32_TYPE__ unsigned __INT32_TYPE__
#endif
#ifndef __UINT64_TYPE__
#define __UINT64_TYPE__ unsigned __INT64_TYPE__
#endif
#ifndef __UINTPTR_TYPE__
#define __UINTPTR_TYPE__ unsigned __INTPTR_TYPE__
#endif
/*
clang 3.4:
$ clang -target x86_64-unknown-linux -dM -E - < /dev/null|grep __INT8_TYPE__
#define __INT8_TYPE__ char
clang 3.5:
$ clang -target x86_64-unknown-linux -dM -E - < /dev/null|grep __INT8_TYPE__
#define __INT8_TYPE__ signed char
*/
#undef __INT8_TYPE__
#define __INT8_TYPE__ signed char
#endif /* clang 3.4 */
#ifndef _INT8_T
#define _INT8_T
typedef __signed char int8_t;
typedef __INT8_TYPE__ int8_t;
#endif
typedef unsigned char u_int8_t;
typedef __UINT8_TYPE__ u_int8_t;
#ifndef _INT16_T
#define _INT16_T
typedef short int16_t;
typedef __INT16_TYPE__ int16_t;
#endif
typedef unsigned short u_int16_t;
typedef __UINT16_TYPE__ u_int16_t;
#ifndef _INT32_T
#define _INT32_T
typedef int int32_t;
typedef __INT32_TYPE__ int32_t;
#endif
typedef unsigned int u_int32_t;
typedef __UINT32_TYPE__ u_int32_t;
#ifndef _INT64_T
#define _INT64_T
#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
typedef long long int64_t;
#else
typedef long int64_t;
#endif /* ! __NetBSD__ && !__OpenBSD__ && !__DragonFly__ */
typedef __INT64_TYPE__ int64_t;
#endif
#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
typedef unsigned long long u_int64_t;
#else
typedef unsigned long u_int64_t;
#endif /* ! __NetBSD__ && !__OpenBSD__ && !__DragonFly__ */
typedef __UINT64_TYPE__ u_int64_t;
#ifdef __OpenBSD__ /* cctools-port: whatever ... */
#if __LP64__
typedef int64_t register_t;
typedef long register_t;
#else
typedef int32_t register_t;
typedef long long register_t;
#endif
#else
#if __LP64__
typedef int64_t register_t;
#else
typedef int32_t register_t;
#endif
#endif /* __OpenBSD__ */
#ifndef _INTPTR_T
#define _INTPTR_T
typedef __darwin_intptr_t intptr_t;
typedef __INTPTR_TYPE__ intptr_t;
#endif
#ifndef _UINTPTR_T
#define _UINTPTR_T
typedef unsigned long uintptr_t;
typedef __UINTPTR_TYPE__ uintptr_t;
#endif
#if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))

View File

@ -95,7 +95,8 @@
#define I386_PGBYTES 4096 /* bytes per 80386 page */
#define I386_PGSHIFT 12 /* bitshift for pages */
#undef PAGE_SIZE /* Cygwin */
#undef PAGE_SIZE /* cctools-port */
#undef PAGE_MASK
#define PAGE_SIZE I386_PGBYTES
#define PAGE_SHIFT I386_PGSHIFT
#define PAGE_MASK (PAGE_SIZE - 1)

View File

@ -76,12 +76,12 @@ typedef integer_t cpu_threadtype_t;
#define CPU_STATE_NICE 3
/*
* Capability bits used in the definition of cpu_type.
*/
#define CPU_ARCH_MASK 0xff000000 /* mask for architecture bits */
#define CPU_ARCH_ABI64 0x01000000 /* 64 bit ABI */
#define CPU_ARCH_ABI64_32 0x02000000 /* ABI for 64-bit hardware with 32-bit types; LP32 */
/*
* Machine types known by all.

View File

@ -0,0 +1,40 @@
#include_next <strings.h>
#undef bcmp
#undef bzero
#undef bcopy
#ifndef HAVE_BCMP
static inline int bcmp(const void *s1, const void *s2, size_t n)
{
return __builtin_memcmp(s1, s2, n);
}
#endif
#ifndef HAVE_BZERO
static inline void bzero(void *s, size_t n)
{
__builtin_memset(s, '\0', n);
}
#endif
#ifndef HAVE_BCOPY
static inline void bcopy(const void *src, void *dest, size_t n)
{
__builtin_memcpy(dest, src, n);
}
#endif
#ifndef HAVE_INDEX
static inline char *index(const char *s, int c)
{
return __builtin_strchr(s, c);
}
#endif
#ifndef HAVE_RINDEX
static inline char *rindex(const char *s, int c)
{
return __builtin_strrchr(s, c);
}
#endif

View File

@ -1,5 +0,0 @@
#include_next <sys/dirent.h>
#ifndef MAXNAMLEN
#define MAXNAMLEN NAME_MAX /* DragonFly BSD */
#endif

View File

@ -1,22 +0,0 @@
#ifndef __CYGWIN__
#include_next <sys/sysctl.h>
#else
#ifndef __SYSCTL_H__
#define __SYSCTL_H__
#include <errno.h>
#include <stdio.h> /* stderr */
#define CTL_KERN 1
#define KERN_OSRELEASE 2
static inline
int sysctl(const int *name, u_int namelen, void *oldp, size_t *oldlenp,
const void *newp, size_t newlen)
{
/* fprintf(stderr, "sysctl() not implented\n"); */
errno = EINVAL;
return -1;
}
#endif /* __SYSCTL_H__ */
#endif /* ! __CYGWIN__ */

View File

@ -72,6 +72,36 @@ extern const NXArchInfo *NXGetArchInfoFromName(const char *name);
extern const NXArchInfo *NXGetArchInfoFromCpuType(cpu_type_t cputype,
cpu_subtype_t cpusubtype);
/* The above interfaces that return pointers to NXArchInfo structs in normal
* cases returns a pointer from the array returned in NXGetAllArchInfos().
* In some cases when the cputype is CPU_TYPE_I386 or CPU_TYPE_POWERPC it will
* retun malloc(3)'ed NXArchInfo struct which contains a string in the
* description field also a malloc(3)'ed pointer. To allow programs not to
* leak memory they can call NXFreeArchInfo() on pointers returned from the
* above interfaces. Since this is a new API on older systems can use the
* code below. Going forward the above interfaces will only return pointers
* from the array returned in NXGetAllArchInfos().
*/
extern void NXFreeArchInfo(const NXArchInfo *x);
/* The code that can be used for NXFreeArchInfo() when it is not available is:
*
* static void NXFreeArchInfo(
* const NXArchInfo *x)
* {
* const NXArchInfo *p;
*
* p = NXGetAllArchInfos();
* while(p->name != NULL){
* if(x == p)
* return;
* p++;
* }
* free((char *)x->description);
* free((NXArchInfo *)x);
* }
*/
/* NXFindBestFatArch() is passed a cputype and cpusubtype and a set of
* fat_arch structs and selects the best one that matches (if any) and returns
* a pointer to that fat_arch struct (or NULL). The fat_arch structs must be
@ -86,6 +116,21 @@ extern struct fat_arch *NXFindBestFatArch(cpu_type_t cputype,
struct fat_arch *fat_archs,
uint32_t nfat_archs);
/* NXFindBestFatArch_64() is passed a cputype and cpusubtype and a set of
* fat_arch_64 structs and selects the best one that matches (if any) and
* returns a pointer to that fat_arch_64 struct (or NULL). The fat_arch_64
* structs must be in the host byte order and correct such that the fat_archs64
* really points to enough memory for nfat_arch structs. It is possible that
* this routine could fail if new cputypes or cpusubtypes are added and an old
* version of this routine is used. But if there is an exact match between the
* cputype and cpusubtype and one of the fat_arch_64 structs this routine will
* always succeed.
*/
extern struct fat_arch_64 *NXFindBestFatArch_64(cpu_type_t cputype,
cpu_subtype_t cpusubtype,
struct fat_arch_64 *fat_archs64,
uint32_t nfat_archs);
/* NXCombineCpuSubtypes() returns the resulting cpusubtype when combining two
* different cpusubtypes for the specified cputype. If the two cpusubtypes
* can't be combined (the specific subtypes are mutually exclusive) -1 is

View File

@ -20,6 +20,10 @@
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef _MACHO_ARM64_RELOC_H_
#define _MACHO_ARM64_RELOC_H_
/*
* Relocation types used in the arm64 implementation.
*/
@ -37,5 +41,28 @@ enum reloc_type_arm64
ARM64_RELOC_TLVP_LOAD_PAGE21, // pc-rel distance to page of TLVP slot
ARM64_RELOC_TLVP_LOAD_PAGEOFF12, // offset within page of TLVP slot,
// scaled by r_length
ARM64_RELOC_ADDEND // must be followed by PAGE21 or PAGEOFF12
ARM64_RELOC_ADDEND, // must be followed by PAGE21 or PAGEOFF12
// An arm64e authenticated pointer.
//
// Represents a pointer to a symbol (like ARM64_RELOC_UNSIGNED).
// Additionally, the resulting pointer is signed. The signature is
// specified in the target location: the addend is restricted to the lower
// 32 bits (instead of the full 64 bits for ARM64_RELOC_UNSIGNED):
//
// |63|62|61-51|50-49| 48 |47 - 32|31 - 0|
// | 1| 0| 0 | key | addr | discriminator | addend |
//
// The key is one of:
// IA: 00 IB: 01
// DA: 10 DB: 11
//
// The discriminator field is used as extra signature diversification.
//
// The addr field indicates whether the target address should be blended
// into the discriminator.
//
ARM64_RELOC_AUTHENTICATED_POINTER,
};
#endif /* #ifndef _MACHO_ARM64_RELOC_H_ */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
* Copyright (c) 2016 Apple, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
@ -49,7 +49,7 @@
#define FAT_CIGAM 0xbebafeca /* NXSwapLong(FAT_MAGIC) */
struct fat_header {
uint32_t magic; /* FAT_MAGIC */
uint32_t magic; /* FAT_MAGIC or FAT_MAGIC_64 */
uint32_t nfat_arch; /* number of structs that follow */
};
@ -61,4 +61,23 @@ struct fat_arch {
uint32_t align; /* alignment as a power of 2 */
};
/*
* The support for the 64-bit fat file format described here is a work in
* progress and not yet fully supported in all the Apple Developer Tools.
*
* When a slice is greater than 4mb or an offset to a slice is greater than 4mb
* then the 64-bit fat file format is used.
*/
#define FAT_MAGIC_64 0xcafebabf
#define FAT_CIGAM_64 0xbfbafeca /* NXSwapLong(FAT_MAGIC_64) */
struct fat_arch_64 {
cpu_type_t cputype; /* cpu specifier (int) */
cpu_subtype_t cpusubtype; /* machine specifier (int) */
uint64_t offset; /* file offset to this object file */
uint64_t size; /* size of this object file */
uint32_t align; /* alignment as a power of 2 */
uint32_t reserved; /* reserved */
};
#endif /* _MACH_O_FAT_H_ */

View File

@ -23,6 +23,8 @@
#include <architecture/byte_order.h>
#include <mach/i386/thread_status.h>
struct i386_float_state;
extern void swap_i386_thread_state(
i386_thread_state_t *cpu,
enum NXByteOrder target_byte_order);

View File

@ -210,6 +210,22 @@ struct mach_header_64 {
#define MH_APP_EXTENSION_SAFE 0x02000000 /* The code was linked for use in an
application extension. */
#define MH_NLIST_OUTOFSYNC_WITH_DYLDINFO 0x04000000 /* The external symbols
listed in the nlist symbol table do
not include all the symbols listed in
the dyld info. */
#define MH_SIM_SUPPORT 0x08000000 /* Allow LC_MIN_VERSION_MACOS and
LC_BUILD_VERSION load commands with
the platforms macOS, macCatalyst,
iOSSimulator, tvOSSimulator and
watchOSSimulator. */
#define MH_DYLIB_IN_CACHE 0x80000000 /* Only for use on dylibs. When this bit
is set, the dylib is part of the dyld
shared cache, rather than loose in
the filesystem. */
/*
* The load commands directly follow the mach_header. The total size of all
* of the commands is given by the sizeofcmds field in the mach_header. All
@ -302,6 +318,10 @@ struct load_command {
#define LC_LINKER_OPTIMIZATION_HINT 0x2E /* optimization hints in MH_OBJECT files */
#define LC_VERSION_MIN_TVOS 0x2F /* build for AppleTV min OS version */
#define LC_VERSION_MIN_WATCHOS 0x30 /* build for Watch min OS version */
#define LC_NOTE 0x31 /* arbitrary data included within a Mach-O file */
#define LC_BUILD_VERSION 0x32 /* build for platform min OS version */
#define LC_DYLD_EXPORTS_TRIE (0x33 | LC_REQ_DYLD) /* used with linkedit_data_command, payload is trie */
#define LC_DYLD_CHAINED_FIXUPS (0x34 | LC_REQ_DYLD) /* used with linkedit_data_command */
/*
* A variable length string in a load command is represented by an lc_str
@ -379,6 +399,9 @@ struct segment_command_64 { /* for 64-bit architectures */
first page of the segment is not
protected. All other pages of the
segment are protected. */
#define SG_READ_ONLY 0x10 /* This segment is made read-only after fixups */
/*
* A segment is made up of zero or more sections. Non-MH_OBJECT files have
@ -504,6 +527,8 @@ struct section_64 { /* for 64-bit architectures */
#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS 0x15 /* functions to call
to initialize TLV
values */
#define S_INIT_FUNC_OFFSETS 0x16 /* 32-bit offsets to
initializers */
/*
* Constants for the section attributes part of the flags field of a section
@ -765,14 +790,14 @@ struct dylinker_command {
* Thread commands contain machine-specific data structures suitable for
* use in the thread state primitives. The machine specific data structures
* follow the struct thread_command as follows.
* Each flavor of machine specific data structure is preceded by an unsigned
* long constant for the flavor of that data structure, an uint32_t
* that is the count of longs of the size of the state data structure and then
* Each flavor of machine specific data structure is preceded by an uint32_t
* constant for the flavor of that data structure, an uint32_t that is the
* count of uint32_t's of the size of the state data structure and then
* the state data structure follows. This triple may be repeated for many
* flavors. The constants for the flavors, counts and state data structure
* definitions are expected to be in the header file <machine/thread_status.h>.
* These machine specific data structures sizes must be multiples of
* 4 bytes The cmdsize reflects the total size of the thread_command
* 4 bytes. The cmdsize reflects the total size of the thread_command
* and all of the sizes of the constants for the flavors, counts and state
* data structures.
*
@ -786,7 +811,7 @@ struct thread_command {
uint32_t cmd; /* LC_THREAD or LC_UNIXTHREAD */
uint32_t cmdsize; /* total size of this command */
/* uint32_t flavor flavor of thread state */
/* uint32_t count count of longs in thread state */
/* uint32_t count count of uint32_t's in thread state */
/* struct XXX_thread_state state thread state for this flavor */
/* ... */
};
@ -1162,8 +1187,10 @@ struct rpath_command {
struct linkedit_data_command {
uint32_t cmd; /* LC_CODE_SIGNATURE, LC_SEGMENT_SPLIT_INFO,
LC_FUNCTION_STARTS, LC_DATA_IN_CODE,
LC_DYLIB_CODE_SIGN_DRS or
LC_LINKER_OPTIMIZATION_HINT. */
LC_DYLIB_CODE_SIGN_DRS,
LC_LINKER_OPTIMIZATION_HINT,
LC_DYLD_EXPORTS_TRIE, or
LC_DYLD_CHAINED_FIXUPS. */
uint32_t cmdsize; /* sizeof(struct linkedit_data_command) */
uint32_t dataoff; /* file offset of data in __LINKEDIT segment */
uint32_t datasize; /* file size of data in __LINKEDIT segment */
@ -1211,6 +1238,46 @@ struct version_min_command {
uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */
};
/*
* The build_version_command contains the min OS version on which this
* binary was built to run for its platform. The list of known platforms and
* tool values following it.
*/
struct build_version_command {
uint32_t cmd; /* LC_BUILD_VERSION */
uint32_t cmdsize; /* sizeof(struct build_version_command) plus */
/* ntools * sizeof(struct build_tool_version) */
uint32_t platform; /* platform */
uint32_t minos; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */
uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */
uint32_t ntools; /* number of tool entries following this */
};
struct build_tool_version {
uint32_t tool; /* enum for the tool */
uint32_t version; /* version number of the tool */
};
/* Known values for the platform field above. */
#define PLATFORM_MACOS 1
#define PLATFORM_IOS 2
#define PLATFORM_TVOS 3
#define PLATFORM_WATCHOS 4
#define PLATFORM_BRIDGEOS 5
#define PLATFORM_IOSMAC 6
#if (!defined(PLATFORM_MACCATALYST))
#define PLATFORM_MACCATALYST 6
#endif
#define PLATFORM_IOSSIMULATOR 7
#define PLATFORM_TVOSSIMULATOR 8
#define PLATFORM_WATCHOSSIMULATOR 9
#define PLATFORM_DRIVERKIT 10
/* Known values for the tool field above. */
#define TOOL_CLANG 1
#define TOOL_SWIFT 2
#define TOOL_LD 3
/*
* The dyld_info_command contains the file offsets and sizes of
* the new compressed form of the information dyld needs to
@ -1352,6 +1419,7 @@ struct dyld_info_command {
#define BIND_SPECIAL_DYLIB_SELF 0
#define BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE -1
#define BIND_SPECIAL_DYLIB_FLAT_LOOKUP -2
#define BIND_SPECIAL_DYLIB_WEAK_LOOKUP -3
#define BIND_SYMBOL_FLAGS_WEAK_IMPORT 0x1
#define BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION 0x8
@ -1371,6 +1439,9 @@ struct dyld_info_command {
#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xA0
#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xB0
#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xC0
#define BIND_OPCODE_THREADED 0xD0
#define BIND_SUBOPCODE_THREADED_SET_BIND_ORDINAL_TABLE_SIZE_ULEB 0x00
#define BIND_SUBOPCODE_THREADED_APPLY 0x01
/*
@ -1380,6 +1451,7 @@ struct dyld_info_command {
#define EXPORT_SYMBOL_FLAGS_KIND_MASK 0x03
#define EXPORT_SYMBOL_FLAGS_KIND_REGULAR 0x00
#define EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 0x01
#define EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE 0x02
#define EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 0x04
#define EXPORT_SYMBOL_FLAGS_REEXPORT 0x08
#define EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER 0x10
@ -1490,4 +1562,16 @@ struct tlv_descriptor
unsigned long offset;
};
/*
* LC_NOTE commands describe a region of arbitrary data included in a Mach-O
* file. Its initial use is to record extra data in MH_CORE files.
*/
struct note_command {
uint32_t cmd; /* LC_NOTE */
uint32_t cmdsize; /* sizeof(struct note_command) */
char data_owner[16]; /* owner name for this LC_NOTE */
uint64_t offset; /* file offset of this data */
uint64_t size; /* length of data region */
};
#endif /* _MACHO_LOADER_H_ */

View File

@ -302,6 +302,12 @@ struct nlist_64 {
*/
#define N_ALT_ENTRY 0x0200
/*
* The N_COLD_FUNC bit of the n_desc field indicates that the symbol is used
* infrequently and the linker should order it towards the end of the section.
*/
#define N_COLD_FUNC 0x0400
#ifndef __STRICT_BSD__
#ifdef __cplusplus
extern "C" {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
* Copyright (c) 2016 Apple, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
@ -49,9 +49,9 @@
/*
* Structure of the __.SYMDEF table of contents for an archive.
* __.SYMDEF begins with a long giving the size in bytes of the ranlib
* __.SYMDEF begins with a uint32_t giving the size in bytes of the ranlib
* structures which immediately follow, and then continues with a string
* table consisting of a long giving the number of bytes of strings which
* table consisting of a uint32_t giving the number of bytes of strings which
* follow and then the strings themselves. The ran_strx fields index the
* string table whose first byte is numbered 0.
*/
@ -64,4 +64,27 @@ struct ranlib {
} ran_un;
uint32_t ran_off; /* library member at this offset */
};
#define SYMDEF_64 "__.SYMDEF_64"
#define SYMDEF_64_SORTED "__.SYMDEF_64 SORTED"
/*
* The support for the 64-bit table of contents described here is a work in
* progress and not yet fully supported in all the Apple Developer Tools.
*
* When an archive offset to a library member is more than 32-bits then this is
* the structure of the __.SYMDEF_64 table of contents for an archive.
* __.SYMDEF_64 begins with a uint64_t giving the size in bytes of the ranlib
* structures which immediately follow, and then continues with a string
* table consisting of a uint64_t giving the number of bytes of strings which
* follow and then the strings themselves. The ran_strx fields index the
* string table whose first byte is numbered 0.
*/
struct ranlib_64 {
union {
uint64_t ran_strx; /* string table index of */
} ran_un;
uint64_t ran_off; /* library member at this offset */
};
#endif /* _MACH_O_RANLIB_H_ */

View File

@ -97,7 +97,10 @@
#define N_ENSYM 0x4e /* end nsect sym: 0,,n_sect,0,address */
#define N_SSYM 0x60 /* structure elt: name,,NO_SECT,type,struct_offset */
#define N_SO 0x64 /* source file name: name,,n_sect,0,address */
#define N_OSO 0x66 /* object file name: name,,0,0,st_mtime */
#define N_OSO 0x66 /* object file name: name,,(see below),0,st_mtime */
/* historically N_OSO set n_sect to 0. The N_OSO
* n_sect may instead hold the low byte of the
* cpusubtype value from the Mach-O header. */
#define N_LSYM 0x80 /* local sym: name,,NO_SECT,type,offset */
#define N_BINCL 0x82 /* include file beginning: name,,NO_SECT,0,sum */
#define N_SOL 0x84 /* #included file name: name,,n_sect,0,address */

View File

@ -44,6 +44,11 @@ extern void swap_fat_arch(
uint32_t nfat_arch,
enum NXByteOrder target_byte_order);
extern void swap_fat_arch_64(
struct fat_arch_64 *fat_archs64,
uint32_t nfat_arch,
enum NXByteOrder target_byte_order);
extern void swap_mach_header(
struct mach_header *mh,
enum NXByteOrder target_byte_order);
@ -186,6 +191,19 @@ extern void swap_source_version_command(
struct source_version_command *sv,
enum NXByteOrder target_byte_sex);
extern void swap_note_command(
struct note_command *nc,
enum NXByteOrder target_byte_sex);
extern void swap_build_version_command(
struct build_version_command *bv,
enum NXByteOrder target_byte_sex);
extern void swap_build_tool_version(
struct build_tool_version *bt,
uint32_t ntools,
enum NXByteOrder target_byte_sex);
extern void swap_prebind_cksum_command(
struct prebind_cksum_command *cksum_cmd,
enum NXByteOrder target_byte_sex);
@ -214,6 +232,11 @@ extern void swap_ranlib(
uint32_t nranlibs,
enum NXByteOrder target_byte_order);
extern void swap_ranlib_64(
struct ranlib_64 *ranlibs,
uint64_t nranlibs,
enum NXByteOrder target_byte_order);
extern void swap_relocation_info(
struct relocation_info *relocs,
uint32_t nrelocs,

View File

@ -32,6 +32,9 @@
#ifndef _MACH_I386__STRUCTS_H_
#define _MACH_I386__STRUCTS_H_
#include <sys/cdefs.h> /* __DARWIN_UNIX03 */
#include <machine/types.h> /* __uint8_t */
/*
* i386 is the structure that is exported to user threads for
* use in status/mutate calls. This structure should never change.
@ -219,6 +222,52 @@ _STRUCT_XMM_REG
};
#endif /* !__DARWIN_UNIX03 */
/* defn of 256 bit YMM regs */
#if __DARWIN_UNIX03
#define _STRUCT_YMM_REG struct __darwin_ymm_reg
_STRUCT_YMM_REG
{
char __ymm_reg[32];
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_YMM_REG struct ymm_reg
_STRUCT_YMM_REG
{
char ymm_reg[32];
};
#endif /* !__DARWIN_UNIX03 */
/* defn of 512 bit ZMM regs */
#if __DARWIN_UNIX03
#define _STRUCT_ZMM_REG struct __darwin_zmm_reg
_STRUCT_ZMM_REG
{
char __zmm_reg[64];
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_ZMM_REG struct zmm_reg
_STRUCT_ZMM_REG
{
char zmm_reg[64];
};
#endif /* !__DARWIN_UNIX03 */
#if __DARWIN_UNIX03
#define _STRUCT_OPMASK_REG struct __darwin_opmask_reg
_STRUCT_OPMASK_REG
{
char __opmask_reg[8];
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_OPMASK_REG struct opmask_reg
_STRUCT_OPMASK_REG
{
char opmask_reg[8];
};
#endif /* !__DARWIN_UNIX03 */
/*
* Floating point state.
*/
@ -311,6 +360,68 @@ _STRUCT_X86_AVX_STATE32
_STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */
};
#define _STRUCT_X86_AVX512_STATE32 struct __darwin_i386_avx512_state
_STRUCT_X86_AVX512_STATE32
{
int __fpu_reserved[2];
_STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */
_STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */
__uint8_t __fpu_ftw; /* x87 FPU tag word */
__uint8_t __fpu_rsrv1; /* reserved */
__uint16_t __fpu_fop; /* x87 FPU Opcode */
__uint32_t __fpu_ip; /* x87 FPU Instruction Pointer offset */
__uint16_t __fpu_cs; /* x87 FPU Instruction Pointer Selector */
__uint16_t __fpu_rsrv2; /* reserved */
__uint32_t __fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */
__uint16_t __fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */
__uint16_t __fpu_rsrv3; /* reserved */
__uint32_t __fpu_mxcsr; /* MXCSR Register state */
__uint32_t __fpu_mxcsrmask; /* MXCSR mask */
_STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */
_STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */
_STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */
_STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */
_STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */
_STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */
_STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */
_STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */
_STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */
_STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */
_STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */
_STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */
_STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */
_STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */
_STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */
_STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */
char __fpu_rsrv4[14*16]; /* reserved */
int __fpu_reserved1;
char __avx_reserved1[64];
_STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */
_STRUCT_OPMASK_REG __fpu_k0; /* K0 */
_STRUCT_OPMASK_REG __fpu_k1; /* K1 */
_STRUCT_OPMASK_REG __fpu_k2; /* K2 */
_STRUCT_OPMASK_REG __fpu_k3; /* K3 */
_STRUCT_OPMASK_REG __fpu_k4; /* K4 */
_STRUCT_OPMASK_REG __fpu_k5; /* K5 */
_STRUCT_OPMASK_REG __fpu_k6; /* K6 */
_STRUCT_OPMASK_REG __fpu_k7; /* K7 */
_STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */
_STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */
_STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */
_STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */
_STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */
_STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */
_STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */
_STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_X86_FLOAT_STATE32 struct i386_float_state
_STRUCT_X86_FLOAT_STATE32
@ -384,15 +495,77 @@ _STRUCT_X86_AVX_STATE32
_STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */
char fpu_rsrv4[14*16]; /* reserved */
int fpu_reserved1;
char __avx_reserved1[64];
_STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */
char avx_reserved1[64];
_STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */
};
#define _STRUCT_X86_AVX512_STATE32 struct i386_avx512_state
_STRUCT_X86_AVX512_STATE32
{
int fpu_reserved[2];
_STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */
_STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */
__uint8_t fpu_ftw; /* x87 FPU tag word */
__uint8_t fpu_rsrv1; /* reserved */
__uint16_t fpu_fop; /* x87 FPU Opcode */
__uint32_t fpu_ip; /* x87 FPU Instruction Pointer offset */
__uint16_t fpu_cs; /* x87 FPU Instruction Pointer Selector */
__uint16_t fpu_rsrv2; /* reserved */
__uint32_t fpu_dp; /* x87 FPU Instruction Operand(Data) Pointer offset */
__uint16_t fpu_ds; /* x87 FPU Instruction Operand(Data) Pointer Selector */
__uint16_t fpu_rsrv3; /* reserved */
__uint32_t fpu_mxcsr; /* MXCSR Register state */
__uint32_t fpu_mxcsrmask; /* MXCSR mask */
_STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */
_STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */
_STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */
_STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */
_STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */
_STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */
_STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */
_STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */
_STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */
_STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */
_STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */
_STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */
_STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */
_STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */
_STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */
_STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */
char fpu_rsrv4[14*16]; /* reserved */
int fpu_reserved1;
char avx_reserved1[64];
_STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */
_STRUCT_OPMASK_REG fpu_k0; /* K0 */
_STRUCT_OPMASK_REG fpu_k1; /* K1 */
_STRUCT_OPMASK_REG fpu_k2; /* K2 */
_STRUCT_OPMASK_REG fpu_k3; /* K3 */
_STRUCT_OPMASK_REG fpu_k4; /* K4 */
_STRUCT_OPMASK_REG fpu_k5; /* K5 */
_STRUCT_OPMASK_REG fpu_k6; /* K6 */
_STRUCT_OPMASK_REG fpu_k7; /* K7 */
_STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */
_STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */
_STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */
_STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */
_STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */
_STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */
_STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */
_STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */
};
#endif /* !__DARWIN_UNIX03 */
@ -445,6 +618,12 @@ _STRUCT_X86_DEBUG_STATE32
};
#endif /* !__DARWIN_UNIX03 */
#define _STRUCT_X86_PAGEIN_STATE struct __x86_pagein_state
_STRUCT_X86_PAGEIN_STATE
{
int __pagein_error;
};
/*
* 64 bit versions of the above
*/
@ -503,6 +682,32 @@ _STRUCT_X86_THREAD_STATE64
};
#endif /* !__DARWIN_UNIX03 */
/*
* 64 bit versions of the above (complete)
*/
#if __DARWIN_UNIX03
#define _STRUCT_X86_THREAD_FULL_STATE64 struct __darwin_x86_thread_full_state64
_STRUCT_X86_THREAD_FULL_STATE64
{
_STRUCT_X86_THREAD_STATE64 ss64;
__uint64_t __ds;
__uint64_t __es;
__uint64_t __ss;
__uint64_t __gsbase;
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_X86_THREAD_FULL_STATE64 struct x86_thread_full_state64
_STRUCT_X86_THREAD_FULL_STATE64
{
_STRUCT_X86_THREAD_STATE64 ss64;
__uint64_t ds;
__uint64_t es;
__uint64_t ss;
__uint64_t gsbase;
};
#endif /* !__DARWIN_UNIX03 */
#if __DARWIN_UNIX03
#define _STRUCT_X86_FLOAT_STATE64 struct __darwin_x86_float_state64
@ -624,6 +829,114 @@ _STRUCT_X86_AVX_STATE64
_STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */
};
#define _STRUCT_X86_AVX512_STATE64 struct __darwin_x86_avx512_state64
_STRUCT_X86_AVX512_STATE64
{
int __fpu_reserved[2];
_STRUCT_FP_CONTROL __fpu_fcw; /* x87 FPU control word */
_STRUCT_FP_STATUS __fpu_fsw; /* x87 FPU status word */
__uint8_t __fpu_ftw; /* x87 FPU tag word */
__uint8_t __fpu_rsrv1; /* reserved */
__uint16_t __fpu_fop; /* x87 FPU Opcode */
/* x87 FPU Instruction Pointer */
__uint32_t __fpu_ip; /* offset */
__uint16_t __fpu_cs; /* Selector */
__uint16_t __fpu_rsrv2; /* reserved */
/* x87 FPU Instruction Operand(Data) Pointer */
__uint32_t __fpu_dp; /* offset */
__uint16_t __fpu_ds; /* Selector */
__uint16_t __fpu_rsrv3; /* reserved */
__uint32_t __fpu_mxcsr; /* MXCSR Register state */
__uint32_t __fpu_mxcsrmask; /* MXCSR mask */
_STRUCT_MMST_REG __fpu_stmm0; /* ST0/MM0 */
_STRUCT_MMST_REG __fpu_stmm1; /* ST1/MM1 */
_STRUCT_MMST_REG __fpu_stmm2; /* ST2/MM2 */
_STRUCT_MMST_REG __fpu_stmm3; /* ST3/MM3 */
_STRUCT_MMST_REG __fpu_stmm4; /* ST4/MM4 */
_STRUCT_MMST_REG __fpu_stmm5; /* ST5/MM5 */
_STRUCT_MMST_REG __fpu_stmm6; /* ST6/MM6 */
_STRUCT_MMST_REG __fpu_stmm7; /* ST7/MM7 */
_STRUCT_XMM_REG __fpu_xmm0; /* XMM 0 */
_STRUCT_XMM_REG __fpu_xmm1; /* XMM 1 */
_STRUCT_XMM_REG __fpu_xmm2; /* XMM 2 */
_STRUCT_XMM_REG __fpu_xmm3; /* XMM 3 */
_STRUCT_XMM_REG __fpu_xmm4; /* XMM 4 */
_STRUCT_XMM_REG __fpu_xmm5; /* XMM 5 */
_STRUCT_XMM_REG __fpu_xmm6; /* XMM 6 */
_STRUCT_XMM_REG __fpu_xmm7; /* XMM 7 */
_STRUCT_XMM_REG __fpu_xmm8; /* XMM 8 */
_STRUCT_XMM_REG __fpu_xmm9; /* XMM 9 */
_STRUCT_XMM_REG __fpu_xmm10; /* XMM 10 */
_STRUCT_XMM_REG __fpu_xmm11; /* XMM 11 */
_STRUCT_XMM_REG __fpu_xmm12; /* XMM 12 */
_STRUCT_XMM_REG __fpu_xmm13; /* XMM 13 */
_STRUCT_XMM_REG __fpu_xmm14; /* XMM 14 */
_STRUCT_XMM_REG __fpu_xmm15; /* XMM 15 */
char __fpu_rsrv4[6*16]; /* reserved */
int __fpu_reserved1;
char __avx_reserved1[64];
_STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */
_STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */
_STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */
_STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */
_STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */
_STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */
_STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */
_STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */
_STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */
_STRUCT_OPMASK_REG __fpu_k0; /* K0 */
_STRUCT_OPMASK_REG __fpu_k1; /* K1 */
_STRUCT_OPMASK_REG __fpu_k2; /* K2 */
_STRUCT_OPMASK_REG __fpu_k3; /* K3 */
_STRUCT_OPMASK_REG __fpu_k4; /* K4 */
_STRUCT_OPMASK_REG __fpu_k5; /* K5 */
_STRUCT_OPMASK_REG __fpu_k6; /* K6 */
_STRUCT_OPMASK_REG __fpu_k7; /* K7 */
_STRUCT_YMM_REG __fpu_zmmh0; /* ZMMH 0 */
_STRUCT_YMM_REG __fpu_zmmh1; /* ZMMH 1 */
_STRUCT_YMM_REG __fpu_zmmh2; /* ZMMH 2 */
_STRUCT_YMM_REG __fpu_zmmh3; /* ZMMH 3 */
_STRUCT_YMM_REG __fpu_zmmh4; /* ZMMH 4 */
_STRUCT_YMM_REG __fpu_zmmh5; /* ZMMH 5 */
_STRUCT_YMM_REG __fpu_zmmh6; /* ZMMH 6 */
_STRUCT_YMM_REG __fpu_zmmh7; /* ZMMH 7 */
_STRUCT_YMM_REG __fpu_zmmh8; /* ZMMH 8 */
_STRUCT_YMM_REG __fpu_zmmh9; /* ZMMH 9 */
_STRUCT_YMM_REG __fpu_zmmh10; /* ZMMH 10 */
_STRUCT_YMM_REG __fpu_zmmh11; /* ZMMH 11 */
_STRUCT_YMM_REG __fpu_zmmh12; /* ZMMH 12 */
_STRUCT_YMM_REG __fpu_zmmh13; /* ZMMH 13 */
_STRUCT_YMM_REG __fpu_zmmh14; /* ZMMH 14 */
_STRUCT_YMM_REG __fpu_zmmh15; /* ZMMH 15 */
_STRUCT_ZMM_REG __fpu_zmm16; /* ZMM 16 */
_STRUCT_ZMM_REG __fpu_zmm17; /* ZMM 17 */
_STRUCT_ZMM_REG __fpu_zmm18; /* ZMM 18 */
_STRUCT_ZMM_REG __fpu_zmm19; /* ZMM 19 */
_STRUCT_ZMM_REG __fpu_zmm20; /* ZMM 20 */
_STRUCT_ZMM_REG __fpu_zmm21; /* ZMM 21 */
_STRUCT_ZMM_REG __fpu_zmm22; /* ZMM 22 */
_STRUCT_ZMM_REG __fpu_zmm23; /* ZMM 23 */
_STRUCT_ZMM_REG __fpu_zmm24; /* ZMM 24 */
_STRUCT_ZMM_REG __fpu_zmm25; /* ZMM 25 */
_STRUCT_ZMM_REG __fpu_zmm26; /* ZMM 26 */
_STRUCT_ZMM_REG __fpu_zmm27; /* ZMM 27 */
_STRUCT_ZMM_REG __fpu_zmm28; /* ZMM 28 */
_STRUCT_ZMM_REG __fpu_zmm29; /* ZMM 29 */
_STRUCT_ZMM_REG __fpu_zmm30; /* ZMM 30 */
_STRUCT_ZMM_REG __fpu_zmm31; /* ZMM 31 */
};
#else /* !__DARWIN_UNIX03 */
#define _STRUCT_X86_FLOAT_STATE64 struct x86_float_state64
_STRUCT_X86_FLOAT_STATE64
@ -725,23 +1038,131 @@ _STRUCT_X86_AVX_STATE64
_STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */
char fpu_rsrv4[6*16]; /* reserved */
int fpu_reserved1;
char __avx_reserved1[64];
_STRUCT_XMM_REG __fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG __fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG __fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG __fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG __fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG __fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG __fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG __fpu_ymmh7; /* YMMH 7 */
_STRUCT_XMM_REG __fpu_ymmh8; /* YMMH 8 */
_STRUCT_XMM_REG __fpu_ymmh9; /* YMMH 9 */
_STRUCT_XMM_REG __fpu_ymmh10; /* YMMH 10 */
_STRUCT_XMM_REG __fpu_ymmh11; /* YMMH 11 */
_STRUCT_XMM_REG __fpu_ymmh12; /* YMMH 12 */
_STRUCT_XMM_REG __fpu_ymmh13; /* YMMH 13 */
_STRUCT_XMM_REG __fpu_ymmh14; /* YMMH 14 */
_STRUCT_XMM_REG __fpu_ymmh15; /* YMMH 15 */
char avx_reserved1[64];
_STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */
_STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */
_STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */
_STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */
_STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */
_STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */
_STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */
_STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */
_STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */
};
#define _STRUCT_X86_AVX512_STATE64 struct x86_avx512_state64
_STRUCT_X86_AVX512_STATE64
{
int fpu_reserved[2];
_STRUCT_FP_CONTROL fpu_fcw; /* x87 FPU control word */
_STRUCT_FP_STATUS fpu_fsw; /* x87 FPU status word */
__uint8_t fpu_ftw; /* x87 FPU tag word */
__uint8_t fpu_rsrv1; /* reserved */
__uint16_t fpu_fop; /* x87 FPU Opcode */
/* x87 FPU Instruction Pointer */
__uint32_t fpu_ip; /* offset */
__uint16_t fpu_cs; /* Selector */
__uint16_t fpu_rsrv2; /* reserved */
/* x87 FPU Instruction Operand(Data) Pointer */
__uint32_t fpu_dp; /* offset */
__uint16_t fpu_ds; /* Selector */
__uint16_t fpu_rsrv3; /* reserved */
__uint32_t fpu_mxcsr; /* MXCSR Register state */
__uint32_t fpu_mxcsrmask; /* MXCSR mask */
_STRUCT_MMST_REG fpu_stmm0; /* ST0/MM0 */
_STRUCT_MMST_REG fpu_stmm1; /* ST1/MM1 */
_STRUCT_MMST_REG fpu_stmm2; /* ST2/MM2 */
_STRUCT_MMST_REG fpu_stmm3; /* ST3/MM3 */
_STRUCT_MMST_REG fpu_stmm4; /* ST4/MM4 */
_STRUCT_MMST_REG fpu_stmm5; /* ST5/MM5 */
_STRUCT_MMST_REG fpu_stmm6; /* ST6/MM6 */
_STRUCT_MMST_REG fpu_stmm7; /* ST7/MM7 */
_STRUCT_XMM_REG fpu_xmm0; /* XMM 0 */
_STRUCT_XMM_REG fpu_xmm1; /* XMM 1 */
_STRUCT_XMM_REG fpu_xmm2; /* XMM 2 */
_STRUCT_XMM_REG fpu_xmm3; /* XMM 3 */
_STRUCT_XMM_REG fpu_xmm4; /* XMM 4 */
_STRUCT_XMM_REG fpu_xmm5; /* XMM 5 */
_STRUCT_XMM_REG fpu_xmm6; /* XMM 6 */
_STRUCT_XMM_REG fpu_xmm7; /* XMM 7 */
_STRUCT_XMM_REG fpu_xmm8; /* XMM 8 */
_STRUCT_XMM_REG fpu_xmm9; /* XMM 9 */
_STRUCT_XMM_REG fpu_xmm10; /* XMM 10 */
_STRUCT_XMM_REG fpu_xmm11; /* XMM 11 */
_STRUCT_XMM_REG fpu_xmm12; /* XMM 12 */
_STRUCT_XMM_REG fpu_xmm13; /* XMM 13 */
_STRUCT_XMM_REG fpu_xmm14; /* XMM 14 */
_STRUCT_XMM_REG fpu_xmm15; /* XMM 15 */
char fpu_rsrv4[6*16]; /* reserved */
int fpu_reserved1;
char avx_reserved1[64];
_STRUCT_XMM_REG fpu_ymmh0; /* YMMH 0 */
_STRUCT_XMM_REG fpu_ymmh1; /* YMMH 1 */
_STRUCT_XMM_REG fpu_ymmh2; /* YMMH 2 */
_STRUCT_XMM_REG fpu_ymmh3; /* YMMH 3 */
_STRUCT_XMM_REG fpu_ymmh4; /* YMMH 4 */
_STRUCT_XMM_REG fpu_ymmh5; /* YMMH 5 */
_STRUCT_XMM_REG fpu_ymmh6; /* YMMH 6 */
_STRUCT_XMM_REG fpu_ymmh7; /* YMMH 7 */
_STRUCT_XMM_REG fpu_ymmh8; /* YMMH 8 */
_STRUCT_XMM_REG fpu_ymmh9; /* YMMH 9 */
_STRUCT_XMM_REG fpu_ymmh10; /* YMMH 10 */
_STRUCT_XMM_REG fpu_ymmh11; /* YMMH 11 */
_STRUCT_XMM_REG fpu_ymmh12; /* YMMH 12 */
_STRUCT_XMM_REG fpu_ymmh13; /* YMMH 13 */
_STRUCT_XMM_REG fpu_ymmh14; /* YMMH 14 */
_STRUCT_XMM_REG fpu_ymmh15; /* YMMH 15 */
_STRUCT_OPMASK_REG fpu_k0; /* K0 */
_STRUCT_OPMASK_REG fpu_k1; /* K1 */
_STRUCT_OPMASK_REG fpu_k2; /* K2 */
_STRUCT_OPMASK_REG fpu_k3; /* K3 */
_STRUCT_OPMASK_REG fpu_k4; /* K4 */
_STRUCT_OPMASK_REG fpu_k5; /* K5 */
_STRUCT_OPMASK_REG fpu_k6; /* K6 */
_STRUCT_OPMASK_REG fpu_k7; /* K7 */
_STRUCT_YMM_REG fpu_zmmh0; /* ZMMH 0 */
_STRUCT_YMM_REG fpu_zmmh1; /* ZMMH 1 */
_STRUCT_YMM_REG fpu_zmmh2; /* ZMMH 2 */
_STRUCT_YMM_REG fpu_zmmh3; /* ZMMH 3 */
_STRUCT_YMM_REG fpu_zmmh4; /* ZMMH 4 */
_STRUCT_YMM_REG fpu_zmmh5; /* ZMMH 5 */
_STRUCT_YMM_REG fpu_zmmh6; /* ZMMH 6 */
_STRUCT_YMM_REG fpu_zmmh7; /* ZMMH 7 */
_STRUCT_YMM_REG fpu_zmmh8; /* ZMMH 8 */
_STRUCT_YMM_REG fpu_zmmh9; /* ZMMH 9 */
_STRUCT_YMM_REG fpu_zmmh10; /* ZMMH 10 */
_STRUCT_YMM_REG fpu_zmmh11; /* ZMMH 11 */
_STRUCT_YMM_REG fpu_zmmh12; /* ZMMH 12 */
_STRUCT_YMM_REG fpu_zmmh13; /* ZMMH 13 */
_STRUCT_YMM_REG fpu_zmmh14; /* ZMMH 14 */
_STRUCT_YMM_REG fpu_zmmh15; /* ZMMH 15 */
_STRUCT_ZMM_REG fpu_zmm16; /* ZMM 16 */
_STRUCT_ZMM_REG fpu_zmm17; /* ZMM 17 */
_STRUCT_ZMM_REG fpu_zmm18; /* ZMM 18 */
_STRUCT_ZMM_REG fpu_zmm19; /* ZMM 19 */
_STRUCT_ZMM_REG fpu_zmm20; /* ZMM 20 */
_STRUCT_ZMM_REG fpu_zmm21; /* ZMM 21 */
_STRUCT_ZMM_REG fpu_zmm22; /* ZMM 22 */
_STRUCT_ZMM_REG fpu_zmm23; /* ZMM 23 */
_STRUCT_ZMM_REG fpu_zmm24; /* ZMM 24 */
_STRUCT_ZMM_REG fpu_zmm25; /* ZMM 25 */
_STRUCT_ZMM_REG fpu_zmm26; /* ZMM 26 */
_STRUCT_ZMM_REG fpu_zmm27; /* ZMM 27 */
_STRUCT_ZMM_REG fpu_zmm28; /* ZMM 28 */
_STRUCT_ZMM_REG fpu_zmm29; /* ZMM 29 */
_STRUCT_ZMM_REG fpu_zmm30; /* ZMM 30 */
_STRUCT_ZMM_REG fpu_zmm31; /* ZMM 31 */
};
#endif /* !__DARWIN_UNIX03 */
@ -794,4 +1215,18 @@ _STRUCT_X86_DEBUG_STATE64
};
#endif /* !__DARWIN_UNIX03 */
#if __DARWIN_UNIX03
#define _STRUCT_X86_CPMU_STATE64 struct __darwin_x86_cpmu_state64
_STRUCT_X86_CPMU_STATE64
{
__uint64_t __ctrs[16];
};
#else /* __DARWIN_UNIX03 */
#define _STRUCT_X86_CPMU_STATE64 struct x86_cpmu_state64
_STRUCT_X86_CPMU_STATE64
{
__uint64_t ctrs[16];
};
#endif /* !__DARWIN_UNIX03 */
#endif /* _MACH_I386__STRUCTS_H_ */

View File

@ -59,6 +59,73 @@
#ifndef _I386_FP_SAVE_H_
#define _I386_FP_SAVE_H_
#ifdef MACH_KERNEL_PRIVATE
struct x86_fx_thread_state {
unsigned short fx_control; /* control */
unsigned short fx_status; /* status */
unsigned char fx_tag; /* register tags */
unsigned char fx_bbz1; /* better be zero when calling fxrtstor */
unsigned short fx_opcode;
unsigned int fx_eip; /* eip instruction */
unsigned short fx_cs; /* cs instruction */
unsigned short fx_bbz2; /* better be zero when calling fxrtstor */
unsigned int fx_dp; /* data address */
unsigned short fx_ds; /* data segment */
unsigned short fx_bbz3; /* better be zero when calling fxrtstor */
unsigned int fx_MXCSR;
unsigned int fx_MXCSR_MASK;
unsigned short fx_reg_word[8][8]; /* STx/MMx registers */
unsigned short fx_XMM_reg[8][16]; /* XMM0-XMM15 on 64 bit processors */
/* XMM0-XMM7 on 32 bit processors... unused storage reserved */
unsigned char fx_reserved[16*5]; /* reserved by intel for future
* expansion */
unsigned int fp_valid;
unsigned int fp_save_layout;
unsigned char fx_pad[8];
}__attribute__ ((packed));
struct xsave_header {
uint64_t xstate_bv;
uint64_t xcomp_bv;
uint8_t xhrsvd[48];
};
typedef struct { uint64_t lo64, hi64; }__attribute__ ((packed)) reg128_t;
typedef struct { reg128_t lo128, hi128; }__attribute__ ((packed)) reg256_t;
typedef struct { reg256_t lo256, hi256; }__attribute__ ((packed)) reg512_t;
struct x86_avx_thread_state {
struct x86_fx_thread_state fp;
struct xsave_header _xh; /* Offset 512, xsave header */
reg128_t x_YMM_Hi128[16]; /* Offset 576, high YMMs `*/
/* Offset 832, end */
}__attribute__ ((packed));
struct x86_avx512_thread_state {
struct x86_fx_thread_state fp;
struct xsave_header _xh; /* Offset 512, xsave header */
reg128_t x_YMM_Hi128[16]; /* Offset 576, high YMMs */
uint64_t x_pad[16]; /* Offset 832, unused AMD LWP */
uint64_t x_BNDREGS[8]; /* Offset 960, unused MPX */
uint64_t x_BNDCTL[8]; /* Offset 1024, unused MPX */
uint64_t x_Opmask[8]; /* Offset 1088, K0-K7 */
reg256_t x_ZMM_Hi256[16]; /* Offset 1152, ZMM0..15[511:256] */
reg512_t x_Hi16_ZMM[16]; /* Offset 1664, ZMM16..31[511:0] */
/* Offset 2688, end */
}__attribute__ ((packed));
typedef union {
struct x86_fx_thread_state fx;
struct x86_avx_thread_state avx;
struct x86_avx512_thread_state avx512;
} x86_ext_thread_state_t;
#endif /* MACH_KERNEL_PRIVATE */
/*
* Control register
*/
@ -115,4 +182,8 @@
#define FP_387 3 /* 80387 or 80486 */
#define FP_FXSR 4 /* Fast save/restore SIMD Extension */
#define EVEX_PREFIX 0x62 /* AVX512's EVEX vector operation prefix */
#define VEX2_PREFIX 0xC4 /* VEX 2-byte prefix for Opmask instructions */
#define VEX3_PREFIX 0xC5 /* VEX 3-byte prefix for Opmask instructions */
#endif /* _I386_FP_SAVE_H_ */

View File

@ -33,7 +33,7 @@
#define _MACH_I386_THREAD_STATE_H_
/* Size of maximum exported thread state in words */
#define I386_THREAD_STATE_MAX (224) /* Size of biggest state possible */
#define I386_THREAD_STATE_MAX (614) /* Size of biggest state possible */
#if defined (__i386__) || defined(__x86_64__)
#define THREAD_STATE_MAX I386_THREAD_STATE_MAX

View File

@ -110,10 +110,14 @@
#define x86_DEBUG_STATE64 11
#define x86_DEBUG_STATE 12
#define THREAD_STATE_NONE 13
/* 15 and 16 are used for the internal x86_SAVED_STATE flavours */
/* 14 and 15 are used for the internal x86_SAVED_STATE flavours */
/* Arrange for flavors to take sequential values, 32-bit, 64-bit, non-specific */
#define x86_AVX_STATE32 16
#define x86_AVX_STATE64 17
#define x86_AVX_STATE64 (x86_AVX_STATE32 + 1)
#define x86_AVX_STATE (x86_AVX_STATE32 + 2)
#define x86_AVX512_STATE32 19
#define x86_AVX512_STATE64 (x86_AVX512_STATE32 + 1)
#define x86_AVX512_STATE (x86_AVX512_STATE32 + 2)
/*
* Largest state on this machine:
@ -142,11 +146,15 @@
(x == x86_DEBUG_STATE) || \
(x == x86_AVX_STATE32) || \
(x == x86_AVX_STATE64) || \
(x == x86_AVX_STATE) || \
(x == x86_AVX512_STATE32) || \
(x == x86_AVX512_STATE64) || \
(x == x86_AVX512_STATE) || \
(x == THREAD_STATE_NONE))
struct x86_state_hdr {
int flavor;
int count;
uint32_t flavor;
uint32_t count;
};
typedef struct x86_state_hdr x86_state_hdr_t;
@ -185,6 +193,10 @@ typedef _STRUCT_X86_AVX_STATE32 x86_avx_state32_t;
#define x86_AVX_STATE32_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx_state32_t)/sizeof(unsigned int)))
typedef _STRUCT_X86_AVX512_STATE32 x86_avx512_state32_t;
#define x86_AVX512_STATE32_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx512_state32_t)/sizeof(unsigned int)))
/*
* to be deprecated in the future
*/
@ -216,6 +228,10 @@ typedef _STRUCT_X86_AVX_STATE64 x86_avx_state64_t;
#define x86_AVX_STATE64_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx_state64_t)/sizeof(unsigned int)))
typedef _STRUCT_X86_AVX512_STATE64 x86_avx512_state64_t;
#define x86_AVX512_STATE64_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx512_state64_t)/sizeof(unsigned int)))
typedef _STRUCT_X86_EXCEPTION_STATE64 x86_exception_state64_t;
#define x86_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t) \
( sizeof (x86_exception_state64_t) / sizeof (int) ))
@ -263,6 +279,22 @@ struct x86_debug_state {
} uds;
};
struct x86_avx_state {
x86_state_hdr_t ash;
union {
x86_avx_state32_t as32;
x86_avx_state64_t as64;
} ufs;
};
struct x86_avx512_state {
x86_state_hdr_t ash;
union {
x86_avx512_state32_t as32;
x86_avx512_state64_t as64;
} ufs;
};
typedef struct x86_thread_state x86_thread_state_t;
#define x86_THREAD_STATE_COUNT ((mach_msg_type_number_t) \
( sizeof (x86_thread_state_t) / sizeof (int) ))
@ -279,6 +311,14 @@ typedef struct x86_debug_state x86_debug_state_t;
#define x86_DEBUG_STATE_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_debug_state_t)/sizeof(unsigned int)))
typedef struct x86_avx_state x86_avx_state_t;
#define x86_AVX_STATE_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx_state_t)/sizeof(unsigned int)))
typedef struct x86_avx512_state x86_avx512_state_t;
#define x86_AVX512_STATE_COUNT ((mach_msg_type_number_t) \
(sizeof(x86_avx512_state_t)/sizeof(unsigned int)))
/*
* Machine-independent way for servers and Mach's exception mechanism to
* choose the most efficient state flavor for exception RPC's:
@ -286,5 +326,142 @@ typedef struct x86_debug_state x86_debug_state_t;
#define MACHINE_THREAD_STATE x86_THREAD_STATE
#define MACHINE_THREAD_STATE_COUNT x86_THREAD_STATE_COUNT
#ifdef XNU_KERNEL_PRIVATE
#define x86_SAVED_STATE32 THREAD_STATE_NONE + 1
#define x86_SAVED_STATE64 THREAD_STATE_NONE + 2
/*
* The format in which thread state is saved by Mach on this machine. This
* state flavor is most efficient for exception RPC's to kernel-loaded
* servers, because copying can be avoided:
*/
struct x86_saved_state32 {
uint32_t gs;
uint32_t fs;
uint32_t es;
uint32_t ds;
uint32_t edi;
uint32_t esi;
uint32_t ebp;
uint32_t cr2; /* kernel esp stored by pusha - we save cr2 here later */
uint32_t ebx;
uint32_t edx;
uint32_t ecx;
uint32_t eax;
uint16_t trapno;
uint16_t cpu;
uint32_t err;
uint32_t eip;
uint32_t cs;
uint32_t efl;
uint32_t uesp;
uint32_t ss;
};
typedef struct x86_saved_state32 x86_saved_state32_t;
#define x86_SAVED_STATE32_COUNT ((mach_msg_type_number_t) \
(sizeof (x86_saved_state32_t)/sizeof(unsigned int)))
#pragma pack(4)
/*
* This is the state pushed onto the 64-bit interrupt stack
* on any exception/trap/interrupt.
*/
struct x86_64_intr_stack_frame {
uint16_t trapno;
uint16_t cpu;
uint32_t _pad;
uint64_t trapfn;
uint64_t err;
uint64_t rip;
uint64_t cs;
uint64_t rflags;
uint64_t rsp;
uint64_t ss;
};
typedef struct x86_64_intr_stack_frame x86_64_intr_stack_frame_t;
_Static_assert((sizeof(x86_64_intr_stack_frame_t) % 16) == 0,
"interrupt stack frame size must be a multiple of 16 bytes");
/*
* thread state format for task running in 64bit long mode
* in long mode, the same hardware frame is always pushed regardless
* of whether there was a change in privilege level... therefore, there
* is no need for an x86_saved_state64_from_kernel variant
*/
struct x86_saved_state64 {
uint64_t rdi; /* arg0 for system call */
uint64_t rsi;
uint64_t rdx;
uint64_t r10; /* R10 := RCX prior to syscall trap */
uint64_t r8;
uint64_t r9; /* arg5 for system call */
uint64_t cr2;
uint64_t r15;
uint64_t r14;
uint64_t r13;
uint64_t r12;
uint64_t r11;
uint64_t rbp;
uint64_t rbx;
uint64_t rcx;
uint64_t rax;
uint32_t gs;
uint32_t fs;
uint64_t _pad;
struct x86_64_intr_stack_frame isf;
};
typedef struct x86_saved_state64 x86_saved_state64_t;
#define x86_SAVED_STATE64_COUNT ((mach_msg_type_number_t) \
(sizeof (struct x86_saved_state64)/sizeof(unsigned int)))
extern uint32_t get_eflags_exportmask(void);
/*
* Unified, tagged saved state:
*/
typedef struct {
uint32_t flavor;
uint32_t _pad_for_16byte_alignment[3];
union {
x86_saved_state32_t ss_32;
x86_saved_state64_t ss_64;
} uss;
} x86_saved_state_t;
#define ss_32 uss.ss_32
#define ss_64 uss.ss_64
#pragma pack()
static inline boolean_t
is_saved_state64(x86_saved_state_t *iss)
{
return (iss->flavor == x86_SAVED_STATE64);
}
static inline boolean_t
is_saved_state32(x86_saved_state_t *iss)
{
return (iss->flavor == x86_SAVED_STATE32);
}
static inline x86_saved_state32_t *
saved_state32(x86_saved_state_t *iss)
{
return &iss->ss_32;
}
static inline x86_saved_state64_t *
saved_state64(x86_saved_state_t *iss)
{
return &iss->ss_64;
}
#endif /* XNU_KERNEL_PRIVATE */
#endif /* _MACH_I386_THREAD_STATUS_H_ */

View File

@ -144,6 +144,7 @@ extern vm_offset_t interrupt_stack[];
#define CPU_TYPE_NS32332 ((cpu_type_t) 5)
#define CPU_TYPE_MC680x0 ((cpu_type_t) 6)
#define CPU_TYPE_I386 ((cpu_type_t) 7)
#define CPU_TYPE_X86 ((cpu_type_t) 7)
#define CPU_TYPE_X86_64 ((cpu_type_t) (CPU_TYPE_I386 | CPU_ARCH_ABI64))
#define CPU_TYPE_MIPS ((cpu_type_t) 8)
#define CPU_TYPE_NS32532 ((cpu_type_t) 9)
@ -157,9 +158,12 @@ extern vm_offset_t interrupt_stack[];
#define CPU_TYPE_MC98000 ((cpu_type_t) 18)
#define CPU_TYPE_POWERPC ((cpu_type_t) 18)
#define CPU_ARCH_ABI64 0x1000000
#define CPU_ARCH_ABI64_32 0x2000000
#define CPU_ARCH_MASK 0xff000000 /* cctools-port */
#define CPU_TYPE_POWERPC64 ((cpu_type_t)(CPU_TYPE_POWERPC | CPU_ARCH_ABI64))
#define CPU_TYPE_VEO ((cpu_type_t) 255)
#define CPU_TYPE_ARM64 ((cpu_type_t)(CPU_TYPE_ARM | CPU_ARCH_ABI64))
#define CPU_TYPE_ARM64_32 ((cpu_type_t)(CPU_TYPE_ARM | CPU_ARCH_ABI64_32))
/*
@ -320,6 +324,10 @@ extern vm_offset_t interrupt_stack[];
#define CPU_SUBTYPE_ARM64_ALL ((cpu_subtype_t) 0)
#define CPU_SUBTYPE_ARM64_V8 ((cpu_subtype_t) 1)
#define CPU_SUBTYPE_ARM64_32_V8 ((cpu_subtype_t) 1)
#define CPU_SUBTYPE_ARM64E ((cpu_subtype_t) 2)
#define CPU_SUBTYPE_ARM64_E CPU_SUBTYPE_ARM64E /* cctools-port */
/*
* MC88000 subtypes
*/

View File

@ -97,6 +97,14 @@ __private_extern__ const char *get_arch_name_from_types(
cpu_type_t cputype,
cpu_subtype_t cpusubtype);
/*
* get_arch_name_if_known() returns the name of the architecture for the
* specified cputype and cpusubtype if known. If unknown it returns NULL.
*/
__private_extern__ const char *get_arch_name_if_known(
cpu_type_t cputype,
cpu_subtype_t cpusubtype);
/*
* get_arch_family_from_cputype() returns the family architecture for the
* specified cputype if known. If unknown it returns NULL.
@ -106,47 +114,28 @@ __private_extern__ const struct arch_flag *get_arch_family_from_cputype(
/*
* get_byte_sex_from_flag() returns the byte sex of the architecture for the
* specified cputype and cpusubtype if known. If unknown it returns
* UNKNOWN_BYTE_SEX. If the bytesex can be determined directly as in the case
* of reading a magic number from a file that should be done and this routine
* should not be used as it could be out of date.
* specified cputype and cpusubtype if known. If unknown it will abort().
* If the bytesex can be determined directly as in the case of reading a magic
* number from a file that should be done and this routine should not be used
* as it could be out of date.
*/
__private_extern__ enum byte_sex get_byte_sex_from_flag(
const struct arch_flag *flag);
/*
* get_stack_direction_from_flag() returns the direction the stack grows as
* either positive (+1) or negative (-1) of the architecture for the
* specified cputype and cpusubtype if known. If unknown it returns 0.
*/
__private_extern__ int get_stack_direction_from_flag(
const struct arch_flag *flag);
/*
* get_stack_addr_from_flag() returns the default starting address of the user
* stack.
* stack. If unknown it will abort().
*/
__private_extern__ uint64_t get_stack_addr_from_flag(
const struct arch_flag *flag);
/*
* get_stack_size_from_flag() returns the default size of the userstack.
*/
__private_extern__ uint32_t get_stack_size_from_flag(
const struct arch_flag *flag);
/*
* get_segalign_from_flag() returns the default segment alignment (page size).
* If unknown it will abort().
*/
__private_extern__ uint32_t get_segalign_from_flag(
const struct arch_flag *flag);
/*
* get_segprot_from_flag() returns the default segment protection.
*/
__private_extern__ vm_prot_t get_segprot_from_flag(
const struct arch_flag *flag);
/*
* get_shared_region_size_from_flag() returns the size of the read only shared
* region.

View File

@ -0,0 +1,45 @@
//
// args.h
// cctools
//
// Created by Michael Trent on 5/31/19.
//
#ifndef args_h
#define args_h
/*
* args_expand_at() recursively expands "@file" options as they appear in the
* argc/argv options list.
*
* if "file" does not point to a valid file, the option "@file" will remain
* in the options list.
*
* if "file" does point to a valid file, that file will be parsed as a series
* of options separated by any amount of whitespace, and those options will
* replace "@file" where it appears in the options list. options files may
* themselves contain additional "@file" references, which will be recursively
* expanded. to prevent infinite recursion, args_expand_at() will fail if it
* attempts to load a "@file" path more than once.
*
* options are separated by any amount of whitespace. whitespace can be included
* in an option if it is wrapped in single or double quotes. individual
* characters can also be escaped with a single backslash character; including
* whitespace, quotes, and other backslashes.
*
* NB: args_expand_at() allows options to include quotes in the middle of the
* string; e.g., "one' 'option" will expand to "one option" rather than "one"
* and "option". This is consistent with unix shell behavior, but not consistent
* with some other implementations of the @file command-line option.
* BUG: args_expand_at() will not return an error if an option contains an
* unterminated quote character. The string "'one more time" will yield a single
* option "'one more time".
*
* BUG: memory pointed to by argv_p is not freed if the pointer is replaced.
* Also, it is not clear how the argv array and its contents should be freed
* if the array is modified.
*/
int args_expand_at(int* argc_p, char** argv_p[]);
#endif /* args_h */

View File

@ -27,6 +27,23 @@
#include <mach/machine.h>
#include <stuff/bool.h>
/*
* cpusubtype_findbestarch_64() is passed a cputype and cpusubtype and a set of
* fat_arch_64 structs and selects the best one that matches (if any) and
* returns a pointer to that fat_arch_64 struct (or NULL). The fat_arch_64
* structs must be in the host byte sex and correct such that the fat_archs64
* really points to enough memory for nfat_arch_64 structs. It is possible
* that this routine could fail if new cputypes or cpusubtypes are added and an
* old version of this routine is used. But if there is an exact match between
* the cputype and cpusubtype and one of the fat_arch_64 structs this routine
* will always succeed.
*/
__private_extern__ struct fat_arch_64 * cpusubtype_findbestarch_64(
cpu_type_t cputype,
cpu_subtype_t cpusubtype,
struct fat_arch_64 *fat_archs64,
uint32_t nfat_archs);
/*
* cpusubtype_findbestarch() is passed a cputype and cpusubtype and a set of
* fat_arch structs and selects the best one that matches (if any) and returns

View File

@ -36,7 +36,7 @@
*/
struct toc_entry {
char *symbol_name;
int32_t member_index;
int64_t member_index;
};
/*
@ -50,9 +50,10 @@ struct arch {
enum ofile_type type; /* The type of file for this architecture */
/* can be OFILE_ARCHIVE, OFILE_Mach_O, */
/* OFILE_LLVM_BITCODE or OFILE_UNKNOWN. */
struct fat_arch *fat_arch; /* If this came from fat file this is valid */
/* and not NULL (needed for the align value */
/* and to output a fat file if only one arch)*/
struct fat_arch *fat_arch; /* If this came from fat file one of these */
struct fat_arch_64 /* is valid and not NULL (needed for the */
*fat_arch64;/* align value and to output a fat file if */
/* only one arch) */
char *fat_arch_name; /* If this came from fat file this is valid */
/* and is tthe name of this architecture */
/* (used for error messages). */
@ -71,13 +72,15 @@ struct arch {
enum bool toc_long_name;/* use the long name in the output */
char *toc_name; /* name of toc member */
uint32_t toc_name_size;/* size of name of toc member */
uint32_t ntocs; /* number of table of contents entries */
uint64_t ntocs; /* number of table of contents entries */
enum bool using_64toc; /* TRUE if we are using a 64-bit toc */
struct toc_entry
*toc_entries; /* the table of contents entries */
struct ranlib *toc_ranlibs; /* the ranlib structs */
struct ranlib *toc_ranlibs; /* the 32-bit ranlib structs */
struct ranlib_64 *toc_ranlibs64; /* the 64-bit ranlib structs */
char *toc_strings; /* strings of symbol names for toc entries */
uint32_t toc_strsize; /* number of bytes for the strings above */
uint32_t library_size; /* current working size and final output size */
uint64_t toc_strsize; /* number of bytes for the strings above */
uint64_t library_size; /* current working size and final output size */
/* for this arch when it's a library (used */
/* for creating the toc entries). */
@ -91,7 +94,7 @@ struct arch {
/* if this is an unknown file: the addr and size of the file */
char *unknown_addr;
uint32_t unknown_size;
uint64_t unknown_size;
/* don't update LC_ID_DYLIB timestamp */
enum bool dont_update_LC_ID_DYLIB_timestamp;
@ -101,7 +104,7 @@ struct member {
enum ofile_type type; /* the type of this member can be OFILE_Mach_O*/
/* OFILE_LLVM_BITCODE or OFILE_UNKNOWN */
struct ar_hdr *ar_hdr; /* the archive header for this member */
uint32_t offset; /* current working offset and final offset */
uint64_t offset; /* current working offset and final offset */
/* use in creating the table of contents */
/* the name of the member in the output */
@ -120,7 +123,7 @@ struct member {
/* if this member is an unknown file: the addr and size of the member */
char *unknown_addr;
uint32_t unknown_size;
uint64_t unknown_size;
/*
* If this member was created from a file then input_file_name is set else
@ -173,6 +176,10 @@ struct object {
struct section_64 **sections64; /* array of 64-bit section structs */
struct dyld_info_command
*dyld_info; /* the LC_DYLD_INFO command,if any */
struct linkedit_data_command
*dyld_exports_trie; /* the exports trie */
struct linkedit_data_command
*dyld_chained_fixups; /* the fixups */
/*
* This is only used for redo_prebinding and is calculated by breakout()
@ -207,6 +214,11 @@ struct object {
uint32_t output_nsymbols;
char *output_strings;
uint32_t output_strings_size;
/*
* To get the code signature data on a page alignment and be compatible with
* existing tools we have to actually change the string table and pad it.
*/
uint32_t output_strings_size_pad;
char *output_code_sig_data;
uint32_t output_code_sig_data_size;
char *output_split_info_data;
@ -219,6 +231,10 @@ struct object {
uint32_t output_code_sign_drs_info_data_size;
char *output_link_opt_hint_info_data;
uint32_t output_link_opt_hint_info_data_size;
char *output_dyld_chained_fixups_data;
uint32_t output_dyld_chained_fixups_data_size;
char *output_dyld_exports_trie_data;
uint32_t output_dyld_exports_trie_data_size;
uint32_t output_ilocalsym;
uint32_t output_nlocalsym;
@ -275,6 +291,7 @@ __private_extern__ void writeout(
unsigned short mode,
enum bool sort_toc,
enum bool commons_in_toc,
enum bool force_64bit_toc,
enum bool library_warnings,
uint32_t *throttle);
@ -283,9 +300,10 @@ __private_extern__ void writeout_to_mem(
uint32_t narchs,
char *filename,
void **outputbuf,
uint32_t *length,
uint64_t *length,
enum bool sort_toc,
enum bool commons_in_toc,
enum bool force_64bit_toc,
enum bool library_warning,
enum bool *seen_archive);

View File

@ -104,6 +104,11 @@ __private_extern__ void swap_fat_arch(
uint32_t nfat_arch,
enum byte_sex target_byte_sex);
__private_extern__ void swap_fat_arch_64(
struct fat_arch_64 *fat_archs64,
uint32_t nfat_arch,
enum byte_sex target_byte_sex);
__private_extern__ void swap_mach_header(
struct mach_header *mh,
enum byte_sex target_byte_sex);
@ -318,6 +323,10 @@ __private_extern__ void swap_arm_thread_state64_t(
arm_thread_state64_t *cpu,
enum byte_sex target_byte_sex);
__private_extern__ void swap_arm_exception_state64_t(
arm_exception_state64_t *except,
enum byte_sex target_byte_sex);
__private_extern__ void swap_ident_command(
struct ident_command *id_cmd,
enum byte_sex target_byte_sex);
@ -378,6 +387,19 @@ __private_extern__ void swap_source_version_command(
struct source_version_command *sv,
enum byte_sex target_byte_sex);
__private_extern__ void swap_note_command(
struct note_command *nc,
enum byte_sex target_byte_sex);
__private_extern__ void swap_build_version_command(
struct build_version_command *bv,
enum byte_sex target_byte_sex);
__private_extern__ void swap_build_tool_version(
struct build_tool_version *bt,
uint32_t ntools,
enum byte_sex target_byte_sex);
__private_extern__ void swap_nlist(
struct nlist *symbols,
uint32_t nsymbols,
@ -393,6 +415,11 @@ __private_extern__ void swap_ranlib(
uint32_t nranlibs,
enum byte_sex target_byte_sex);
__private_extern__ void swap_ranlib_64(
struct ranlib_64 *ranlibs,
uint64_t nranlibs,
enum byte_sex target_byte_sex);
__private_extern__ void swap_relocation_info(
struct relocation_info *relocs,
uint32_t nrelocs,
@ -455,6 +482,6 @@ __private_extern__ enum bool swap_object_headers(
*/
__private_extern__ enum byte_sex get_toc_byte_sex(
char *addr,
uint32_t size);
uint64_t size);
#endif /* _STUFF_BYTESEX_H_ */

View File

@ -24,7 +24,7 @@ __private_extern__ void lto_get_nlist_64(
void *mod,
uint32_t symbol_index);
__private_extern__ char * lto_symbol_name(
__private_extern__ const char * lto_symbol_name(
void *mod,
uint32_t symbol_index);

View File

@ -63,6 +63,7 @@ struct ofile {
struct fat_header *fat_header; /* If a fat file these are filled in and */
struct fat_arch *fat_archs; /* if needed converted to host byte sex */
struct fat_arch_64 *fat_archs64;
/* If this is a fat file then these are valid and filled in */
uint32_t narch; /* the current architecture */
@ -78,10 +79,12 @@ struct ofile {
struct ar_hdr *toc_ar_hdr; /* the archive header for the toc */
char *toc_name; /* name of toc member */
uint32_t toc_name_size; /* size of name of toc member */
struct ranlib *toc_ranlibs; /* ranlib structs */
uint32_t toc_nranlibs; /* number of ranlib structs */
enum bool toc_is_32bit; /* TRUE if toc is 32-bit */
struct ranlib *toc_ranlibs; /* 32-bit ranlib structs */
struct ranlib_64 *toc_ranlibs64; /* 64-bit ranlib_64 structs */
uint64_t toc_nranlibs; /* number of ranlib structs */
char *toc_strings; /* strings of symbol names (for above) */
uint32_t toc_strsize; /* number of bytes for the strings above */
uint64_t toc_strsize; /* number of bytes for the strings above */
enum bool toc_bad; /* the toc needs to be rebuilt */
/* If this structure is currently referencing a System V archive and it has

View File

@ -0,0 +1,20 @@
#ifndef DISABLE_CLANG_AS
char *find_clang();
#endif /* !DISABLE_CLANG_AS */
#ifndef HAVE_UTIMENS
#include <time.h>
int utimens(const char *path, const struct timespec times[2]);
#endif /* !HAVE_UTIMENS */
#ifndef HAVE_STRMODE
void strmode(/* mode_t */ int mode, char *p);
#endif /* !__APPLE__ */
#ifndef HAVE_REALLOCF
void *reallocf(void *ptr, size_t size);
#elif defined(HAVE_BSD_STDLIB_H)
#include <bsd/stdlib.h>
#endif /* !HAVE_REALLOCF */
int asprintf(char **strp, const char *fmt, ...);

View File

@ -33,7 +33,9 @@
/*
* rnd() rounds v to a multiple of r.
*
* r must be a non-zero power of 2.
*/
__private_extern__ uint64_t rnd(
uint64_t v,
uint64_t r);
__private_extern__ uint64_t rnd(uint64_t v, uint64_t r);
__private_extern__ uint64_t rnd64(uint64_t v, uint64_t r);
__private_extern__ uint32_t rnd32(uint32_t v, uint32_t r);

View File

@ -21,6 +21,6 @@
* @APPLE_LICENSE_HEADER_END@
*/
__private_extern__ enum bool get_version_number(
char *flag,
char *argument,
const char *flag,
const char *argument,
uint32_t *value);

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2018 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef HAVE_WRITE64
#include <unistd.h>
/*
* This is a drop-in write(2) replacement that does the right thing when trying
* to write out 31-bits or more of data. While the write(2) system call has
* 64-bit wide arguments, it only honors 31 bits for historical reasons.
* This restriction does not appear to be unique to Darwin.
*/
ssize_t write64(int fildes, const void *buf, size_t nbyte);
#endif /* ! HAVE_WRITE64 */

View File

@ -1,12 +1,29 @@
#if defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || \
defined(__OpenBSD__) || defined(__NetBSD__) || defined(__ANDROID__)
#include_next <sys/cdefs.h>
#else
#ifdef __cplusplus
#define __BEGIN_DECLS extern "C" {
#define __END_DECLS }
#else
#define __BEGIN_DECLS
#define __END_DECLS
#endif
#define __P(x) x
#endif /* __GLIBC__ || __APPLE__ */
#ifdef __GLIBC__
/*
* Workaround for a GLIBC bug.
* https://sourceware.org/bugzilla/show_bug.cgi?id=14952
*/
#include_next <sys/cdefs.h>
#ifdef __GLIBC__
#ifndef __extern_inline
# define __extern_inline \
extern __inline __attribute__ ((__gnu_inline__))

518
cctools/install-sh Executable file
View File

@ -0,0 +1,518 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" $tab$nl"
# Set DOITPROG to "echo" to test this script.
doit=${DOITPROG-}
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
oIFS=$IFS
IFS=/
set -f
set fnord $dstdir
shift
set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,2 +1,2 @@
SUBDIRS = src
SUBDIRS = src doc/man
ACLOCAL_AMFLAGS = -I m4

656
cctools/ld64/Makefile.in Normal file
View File

@ -0,0 +1,656 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = ld64
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__maybe_remake_depfiles =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src doc/man
ACLOCAL_AMFLAGS = -I m4
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ld64/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ld64/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,5 @@
dist_man_MANS =
dist_man_MANS += man1/dyldinfo.1
dist_man_MANS += man1/ld64.1
dist_man_MANS += man1/ld.1
dist_man_MANS += man1/unwinddump.1

View File

@ -0,0 +1,556 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = ld64/doc/man
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__maybe_remake_depfiles =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)"
NROFF = nroff
MANS = $(dist_man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
dist_man_MANS = man1/dyldinfo.1 man1/ld64.1 man1/ld.1 \
man1/unwinddump.1
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ld64/doc/man/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ld64/doc/man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-man1: $(dist_man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
list2='$(dist_man_MANS)'; \
test -n "$(man1dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.1[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
done; }
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man1dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
for dir in "$(DESTDIR)$(man1dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-man
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man: install-man1
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-man
uninstall-man: uninstall-man1
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-man1 install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags-am uninstall uninstall-am uninstall-man \
uninstall-man1
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,4 +1,4 @@
.Dd March 7, 2011
.Dd March 7, 2018
.Dt ld 1
.Os Darwin
.Sh NAME
@ -31,9 +31,7 @@ object file is a "thin" file, the native 32-bit architecture for the host is use
.Pp
Usually,
.Nm ld
is not used directly. Instead the
.Xr gcc(1)
compiler driver invokes
is not used directly. Instead the compiler driver invokes
.Nm ld.
The compiler driver can be passed multiple -arch options and it will create a
universal final linked image by invoking
@ -145,14 +143,6 @@ clients linking to the library being created. This was previously done with a s
This is the same as listing a file name path to a library on the link line and it specifies that the
all symbols in library path should be available to clients linking to the library being created.
This was previously done with a separate -sub_library option.
.It Fl lazy-l Ns Ar x
This is the same as the -lx but it is only for shared libraries and the linker
will construct glue code so that the shared library is not loaded until
the first function in it is called.
.It Fl lazy_library Ar path_to_library
This is the same as listing a file name path to a shared library on the link line
except that the linker will construct glue code so that the shared library is not
loaded until the first function in it is called.
.It Fl upward-l Ns Ar x
This is the same as the -lx but specifies that the dylib is an upward dependency.
.It Fl upward_library Ar path_to_library
@ -192,11 +182,6 @@ references to it to be marked as weak imports.
This is the same as the -framework name[,suffix] but also specifies that the
all symbols in that framework should be available to clients linking to the library being created.
This was previously done with a separate -sub_umbrella option.
.It Fl lazy_framework Ar name[,suffix]
This is the same as the -framework name[,suffix] except that the linker will
construct glue code so that the framework is not
loaded until the first function in it is called. You cannot directly access
data or Objective-C classes in a framework linked this way.
.It Fl upward_framework Ar name[,suffix]
This is the same as the -framework name[,suffix] but also specifies that the
framework is an upward dependency.
@ -263,18 +248,41 @@ to the end. Use this option to disable the automatic rearrangement of initialize
By default the linker reorders global data in the __DATA segment so that all global variables that
dyld will need to adjust at launch time will early in the __DATA segment. This reduces the number
of dirty pages at launch time. This option disables that optimization.
.It Fl macosx_version_min Ar version
This is set to indicate the oldest Mac OS X version that that the output is to be used on. Specifying
.It Fl platform_version Ar platform Ar min_version Ar sdk_version
This is set to indicate the platform, oldest supported version of that platform that output is to be
used on, and the SDK that the output was built against.
.Ar platform
is a numeric value as defined in <mach-o/loader.h>, or it may be one of the following strings:
.Bl -tag -compact
.It \(bu macos
.It \(bu ios
.It \(bu tvos
.It \(bu watchos
.It \(bu bridgeos
.It \(bu mac-catalyst
.It \(bu ios-sim
.It \(bu tvos-sim
.It \(bu watchos-sim
.It \(bu driverkit
.El
Specifying a newer min or SDK version enables the linker to assume features of that OS or SDK in the
output file. The format of
.Ar min_version
and
.Ar sdk_version
is a version number such as 10.13 or 10.14
.It Fl macos_version_min Ar version
This is set to indicate the oldest macOS version that that the output is to be used on. Specifying
a later version enables the linker to assumes features of that OS in the output file. The format of
.Ar version
is a Mac OS X version number such as 10.4 or 10.5
is a macOS version number such as 10.9 or 10.14
.It Fl ios_version_min Ar version
This is set to indicate the oldest iOS version that that the output is to be used on. Specifying
a later version enables the linker to assumes features of that OS in the output file. The format of
.Ar version
is an iOS version number such as 3.1 or 4.0
.It Fl image_base Ar address
Specifies the perferred load address for a dylib or bundle. The argument
Specifies the preferred load address for a dylib or bundle. The argument
.Ar address
is a hexadecimal number with an optional leading 0x. By choosing non-overlapping address for all
dylibs and bundles that a program loads, launch time can be improved because dyld will not need to
@ -351,11 +359,7 @@ will cause a bus error if a NULL pointer is dereferenced. The argument
is a hexadecimal number with an optional leading 0x. If
.Ar size
is zero, the linker will not generate a page zero segment. By default on 32-bit architectures the page zero size
is 4KB. On 64-bit architectures, the default size is 4GB. The ppc64 architecture has some special cases. Since Mac
OS X 10.4 did not support 4GB page zero programs, the default page zero size for ppc64 will be 4KB unless
-macosx_version_min is 10.5 or later. Also, the -mdynamic-no-pic codegen model for ppc64 will only work if the
code is placed in the lower 2GB of the address space, so the if the linker detects any such code, the page zero
size is set to 4KB and then a new unreadable trailing segment is created after the code, filling up the lower 4GB.
is 4KB. On 64-bit architectures, the default size is 4GB.
.It Fl stack_size Ar size
Specifies the maximum stack size for the main thread in a program. Without this option a program has a 8MB stack.
The argument
@ -519,6 +523,10 @@ The specified
contains a list of non-global symbol names that should be remain in the output file's symbol table. All other
symbol names will be removed from the output file's symbol table. See -exported_symbols_list for syntax and use
of wildcards.
.It Fl oso_prefix Ar prefix-path
When generating the debug map, the linker will remove the specified
.Ar prefix-path
from the path in OSO symbols. This can be used so to help build servers generate identical binaries.
.El
.Ss Options for Bitcode build flow
.Bl -tag
@ -526,7 +534,7 @@ of wildcards.
Generates an embedded bitcode bundle in the output binary. The bitcode bundle is embedded in __LLVM, __bundle section.
This option requires all the object files, static libraries and user frameworks/dylibs contain bitcode.
Note: not all the linker options are supported to use together with -bitcode_bundle.
.It Fl bitcode_hide_symbol
.It Fl bitcode_hide_symbols
Specifies this option together with -bitcode_bundle to hide all non-exported symbols from output bitcode bundle.
The hide symbol process might not be reversible. To obtain a reverse mapping file to recover all the symbols, use
-bitcode_symbol_map option.
@ -541,10 +549,24 @@ Otherwise, the reverse map will be written to a file at
.Bl -tag
.It Fl v
Prints the version of the linker.
.It Fl version_details
Prints the version info about the linker in JSON
.It Fl no_weak_imports
Error if any symbols are weak imports (i.e. allowed to be unresolved (NULL) at runtime). Useful for config based
projects that assume they are built and run on the same OS version.
.It Fl no_deduplicate
Don't run deduplication pass in linker
.It Fl verbose_deduplicate
Prints names of functions that are eliminated by deduplication and total code savings size.
.It Fl no_inits
Error if the output contains any static initializers
.It Fl no_warn_inits
Do not warn if the output contains any static initializers
.It Fl debug_variant
Do not warn about issues that are only problems for binaries shipping to customers.
.It Fl unaligned_pointers Ar treatment
Specifies how unaligned pointers in __DATA segments should be handled. Options are: 'warning', 'error', or 'suppress'.
The default for arm64e is 'error' and for all other architectures it is 'suppress'.
.It Fl dirty_data_list Ar filename
Specifies a file containing the names of data symbols likely to be dirtied.
If the linker is creating a __DATA_DIRTY segment, those symbols will be moved
@ -563,7 +585,7 @@ Comments can be added to the symbol file by starting a line with a #.
If there are multiple instances of a symbol name (for instance a "static int foo=5;" in multiple files)
the symbol name in the symbol list file can be prefixed with the object file name
(e.g. "init.o:_foo") to move a specific instance.
.It Fl move_to_ro_section Ar segment_name Ar section_name Ar filename
.It Fl move_to_ro_segment Ar segment_name Ar filename
Moves code symbols to another segment. The command line option specifies the
target segment name and a path to a file containing a list of symbols to move.
Comments can be added to the symbol file by starting a line with a #.
@ -577,10 +599,9 @@ Renames all sections with orgSegment segment name to have newSegment segment nam
.It Fl trace_symbol_layout
For using in debugging -rename_section, -rename_segment, -move_to_ro_segment, and -move_to_rw_segment.
This option prints out a line show where and why each symbol was moved.
Note: These options do not chain. For each symbol, the linker first checks
-move_to_ro_segment and -move_to_rw_segment. If the symbol is not moved,
it checks for an applicable -rename_section. Only if the symbol still has
not been moved, does the linker look for an applicable -rename_segment option.
Note: These options do chain. For each symbol, the linker first checks
-move_to_ro_segment and -move_to_rw_segment. Next it applies any -rename_section options,
and lastly and -rename_segment options.
.It Fl section_order Ar segname Ar colon_separated_section_list
Only for use with -preload. Specifies the order that sections with the specified segment should be layout out.
For example: "-section_order __ROM __text:__const:__cstring".
@ -613,6 +634,9 @@ any function whose FDE cannot be expressed in the compact unwind format.
.It Fl warn_weak_exports
Issue a warning if the resulting final linked image contains weak external symbols. Such
symbols require dyld to do extra work at launch time to coalesce those symbols.
.It Fl no_weak_exports
Issue an erro if the resulting final linked image contains weak external symbols. Such
symbols require dyld to do extra work at launch time to coalesce those symbols.
.It Fl objc_gc_compaction
Marks the Objective-C image info in the final linked image with the bit that says that the
code was built to work the compacting garbage collection.
@ -721,10 +745,10 @@ the glue code need to set up and call main().
.It Fl w
Suppress all warning messages
.It Fl final_output Ar name
Specifies the install name of a dylib if -install_name is not used. This option is used by gcc driver when it is invoked
Specifies the install name of a dylib if -install_name is not used. This option is used by compiler driver when it is invoked
with multiple -arch arguments.
.It Fl arch_multiple
Specifes that the linker should augment error and warning messages with the architecture name. This option is used by gcc
Specifes that the linker should augment error and warning messages with the architecture name. This option is used by compiler
driver when it is invoked with multiple -arch arguments.
.It Fl twolevel_namespace_hints
Specifies that hints should be added to the resulting binary that can help speed up runtime binding by dyld as long as the
@ -758,9 +782,6 @@ interposable then if _malloc was interposed at runtime, calls to malloc from wit
.It Fl no_function_starts
By default the linker creates a compress table of function start addresses in the LINKEDIT of
final linked image. This option disables that behavior.
.It Fl no_version_load_command
By default the linker creates a load command in final linked images that contains the -macosx_version_min.
This option disables that behavior.
.It Fl no_objc_category_merging
By default when producing final linked image, the linker will optimize Objective-C classes by merging
any categories on a class into the class. Both the class and its categories must be defined in the image
@ -775,6 +796,18 @@ info in the temporary object file.
When performing Link Time Optimization (LTO), the linker normally loads libLTO.dylib relative to the linker
binary (../lib/libLTO.dylib). This option allows the user to specify the path to a specific libLTO.dylib
to load instead.
.It Fl cache_path_lto Ar path
When performing Incremental Link Time Optimization (LTO), use this directory as a cache for incremental rebuild.
.It Fl prune_interval_lto Ar seconds
When performing Incremental Link Time Optimization (LTO), the cache will pruned after the specified interval. A value 0
will force pruning to occur and a value of -1 will disable pruning.
.It Fl prune_after_lto Ar seconds
When pruning the cache for Incremental Link Time Optimization (LTO), the cache entries are removed after the
specificied interval.
.It Fl max_relative_cache_size_lto Ar percent
When performing Incremental Link Time Optimization (LTO), the cache will be pruned to not go over this percentage
of the free space. I.e. a value of 100 would indicate that the cache may fill the disk, and a value of 50 would
indicate that the cache size will be kept under the free disk space.
.It Fl page_align_data_atoms
During development, this option can be used to space out all global variables so each is on a separate page.
This is useful when analyzing dirty and resident pages. The information can then be used to create an
@ -871,6 +904,20 @@ Replaced by more general -order_file option.
.It Fl sectorder_detail
Produced extra logging about which entries from a sectorder entries were used. Replaced by -order_file_statistics.
This option is obsolete.
.It Fl lazy_framework Ar name[,suffix]
This is the same as the -framework name[,suffix] except that the linker will
construct glue code so that the framework is not
loaded until the first function in it is called. You cannot directly access
data or Objective-C classes in a framework linked this way. This option
is deprecated.
.It Fl lazy-l Ns Ar x
This is the same as the -lx but it is only for shared libraries and the linker
will construct glue code so that the shared library is not loaded until
the first function in it is called. This option is deprecated.
.It Fl lazy_library Ar path_to_library
This is the same as listing a file name path to a shared library on the link line
except that the linker will construct glue code so that the shared library is not
loaded until the first function in it is called. This option is deprecated.
.El
.Sh SEE ALSO
as(1), ar(1), cc(1), nm(1), otool(1) lipo(1),

View File

@ -1,39 +0,0 @@
.Dd June 6, 2006
.Dt rebase 1
.Os Darwin
.Sh NAME
.Nm rebase
.Nd "Changes base address of dylibs and bundles"
.Sh SYNOPSIS
.Nm
.Op Fl low_address Ar addr
.Op Fl high_address Ar addr
.Op Fl arch Ar arch
.Op Fl v
.Ar file(s)
.Sh DESCRIPTION
The base address of an image (dylib or bundle) is the preferred address for it to be loaded. By
default all images are built with a base address of zero. At runtime, if the
preferred memory range is already occupied, dyld will "slide" the image to a new address range.
There is a small cost to the slide, as dyld must do some fix ups.
The rebase tool takes a list of images and adjust their base address to be non-overlapping. If no
low or high address is specified, the a suitable address range is choosen for the architecture.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl low_address Ar addr
Force the base address for the first image to be
.Ar addr
(specified in hex). Each subsequent file gets the next available base address.
.It Fl high_address Ar addr
Force the base address for the last image to be such that when that image is loaded it occupies
memory up to
.Ar addr
(specified in hex). Each preceeding file gets the previous available base address.
.It Fl arch Ar arch
Only rebase the specified architecture. Other architectures in a universal image are left as is.
.It Fl v
Verbose. Print information about rebasing done.
.El
.Sh SEE ALSO
.Xr ld 1

View File

@ -0,0 +1,614 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = ld64/src/3rd/BlocksRuntime
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libBlocksRuntime_la_LIBADD =
am_libBlocksRuntime_la_OBJECTS = data.lo runtime.lo
libBlocksRuntime_la_OBJECTS = $(am_libBlocksRuntime_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libBlocksRuntime_la_SOURCES)
DIST_SOURCES = $(libBlocksRuntime_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
noinst_LTLIBRARIES = libBlocksRuntime.la
noinst_HEADERS = \
Block.h \
Block_private.h \
config.h
libBlocksRuntime_la_SOURCES = \
data.c \
runtime.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ld64/src/3rd/BlocksRuntime/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ld64/src/3rd/BlocksRuntime/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libBlocksRuntime.la: $(libBlocksRuntime_la_OBJECTS) $(libBlocksRuntime_la_DEPENDENCIES) $(EXTRA_libBlocksRuntime_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) $(libBlocksRuntime_la_OBJECTS) $(libBlocksRuntime_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,7 +1,7 @@
SUBDIRS = BlocksRuntime
noinst_LTLIBRARIES = libhelper.la
noinst_HEADERS = helper.h strlcat.h strlcpy.h qsort_r.h
libhelper_la_CFLAGS=-I$(top_srcdir)/include -I$(top_srcdir)/include/foreign $(ENDIAN_FLAG) $(WARNINGS)
noinst_HEADERS = helper.h strlcat.h strlcpy.h qsort_r.h md5.h mkpath_np.h
libhelper_la_CFLAGS=-I$(top_srcdir)/include -I$(top_srcdir)/include/foreign $(ENDIAN_FLAG) $(WARNINGS) -D__DARWIN_UNIX03
libhelper_la_SOURCES = \
helper.c \
@ -9,4 +9,5 @@ libhelper_la_SOURCES = \
strlcat.c \
strlcpy.c \
eprintf.c \
md5.c
md5.c \
mkpath_np.c

View File

@ -0,0 +1,760 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = ld64/src/3rd
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libhelper_la_LIBADD =
am_libhelper_la_OBJECTS = libhelper_la-helper.lo \
libhelper_la-qsort_r.lo libhelper_la-strlcat.lo \
libhelper_la-strlcpy.lo libhelper_la-eprintf.lo \
libhelper_la-md5.lo libhelper_la-mkpath_np.lo
libhelper_la_OBJECTS = $(am_libhelper_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
libhelper_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libhelper_la_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__maybe_remake_depfiles =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libhelper_la_SOURCES)
DIST_SOURCES = $(libhelper_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = BlocksRuntime
noinst_LTLIBRARIES = libhelper.la
noinst_HEADERS = helper.h strlcat.h strlcpy.h qsort_r.h md5.h mkpath_np.h
libhelper_la_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/foreign $(ENDIAN_FLAG) $(WARNINGS) -D__DARWIN_UNIX03
libhelper_la_SOURCES = \
helper.c \
qsort_r.c \
strlcat.c \
strlcpy.c \
eprintf.c \
md5.c \
mkpath_np.c
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ld64/src/3rd/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ld64/src/3rd/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libhelper.la: $(libhelper_la_OBJECTS) $(libhelper_la_DEPENDENCIES) $(EXTRA_libhelper_la_DEPENDENCIES)
$(AM_V_CCLD)$(libhelper_la_LINK) $(libhelper_la_OBJECTS) $(libhelper_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
libhelper_la-helper.lo: helper.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-helper.lo `test -f 'helper.c' || echo '$(srcdir)/'`helper.c
libhelper_la-qsort_r.lo: qsort_r.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-qsort_r.lo `test -f 'qsort_r.c' || echo '$(srcdir)/'`qsort_r.c
libhelper_la-strlcat.lo: strlcat.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-strlcat.lo `test -f 'strlcat.c' || echo '$(srcdir)/'`strlcat.c
libhelper_la-strlcpy.lo: strlcpy.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-strlcpy.lo `test -f 'strlcpy.c' || echo '$(srcdir)/'`strlcpy.c
libhelper_la-eprintf.lo: eprintf.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-eprintf.lo `test -f 'eprintf.c' || echo '$(srcdir)/'`eprintf.c
libhelper_la-md5.lo: md5.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-md5.lo `test -f 'md5.c' || echo '$(srcdir)/'`md5.c
libhelper_la-mkpath_np.lo: mkpath_np.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhelper_la_CFLAGS) $(CFLAGS) -c -o libhelper_la-mkpath_np.lo `test -f 'mkpath_np.c' || echo '$(srcdir)/'`mkpath_np.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool \
clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,4 +1,7 @@
const char ldVersionString[] = "264.3.102\n";
#define VAL(x) #x
#define STRINGIFY(x) VAL(x)
const char ldVersionString[] = "@(#)PROGRAM:ld PROJECT:ld64-" STRINGIFY(LD64_VERSION_NUM) "\n";
#ifndef __APPLE__
@ -36,8 +39,12 @@ void __assert_rtn(const char *func, const char *file, int line, const char *msg)
__assert(msg, file, line, func);
#elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(__CYGWIN__)
__assert(msg, line, file);
#else
#elif defined(__GLIBC__) || defined(__MINGW32__)
__assert(msg, file, line);
#else
fprintf(stderr, "Assertion failed: %s (%s: %s: %d)\n", msg, file, func, line);
fflush(NULL);
abort();
#endif /* __FreeBSD__ */
}

View File

@ -1,40 +1,18 @@
#ifndef _HELPER_H
#define _HELPER_H
#ifndef __USE_GNU
#define __USE_GNU
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __has_extension
#define __has_extension(x) 0
#endif
#ifndef __has_include
#define __has_include(x) 0
#endif
#ifndef __has_include_next
#define __has_include_next(x) 0
#endif
#include <mach/mach_time.h>
#include <mach/mach_host.h>
#include <mach/host_info.h>
#include <sys/time.h>
#ifndef __USE_GNU
#define __USE_GNU
#endif
#ifndef __APPLE__
typedef char uuid_string_t__[37];
#define uuid_string_t uuid_string_t__
#endif
#ifdef __NetBSD__
#define stoi(a,b) atoi(a.c_str()); do { if (!b) break; const char *p = a.c_str(); *b = 0; while (isdigit(*p++)) (*b)++; } while (0)
#endif
#include <dlfcn.h>
struct dyld_unwind_sections
@ -48,6 +26,11 @@ struct dyld_unwind_sections
typedef Dl_info dl_info;
#ifndef __APPLE__
typedef char uuid_string_t__[37];
#define uuid_string_t uuid_string_t__
#endif
int _NSGetExecutablePath(char *path, unsigned int *size);
int _dyld_find_unwind_sections(void* i, struct dyld_unwind_sections* sec);
mach_port_t mach_host_self(void);

View File

@ -0,0 +1,203 @@
/*
* Copyright (c) 2011 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef __APPLE__
#include "mkpath_np.h"
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
/* This extended version of mkpath_np is provided to help NSFileManager
* maintain binary compatibility. If firstdir is not NULL, *firstdir will be
* set to the path of the first created directory, and it is the caller's
* responsibility to free the returned string. This SPI is subject to removal
* once NSFileManager no longer has a need for it, and use in new code is
* highly discouraged.
*
* See: <rdar://problem/9888987>
*/
int
_mkpath_np(const char *path, mode_t omode, const char ** firstdir)
{
char *apath = NULL;
unsigned int depth = 0;
mode_t chmod_mode = 0;
int retval = 0;
int old_errno = errno;
struct stat sbuf;
/* Try the trivial case first. */
if (0 == mkdir(path, omode)) {
if (firstdir) {
*firstdir = strdup(path);
}
goto mkpath_exit;
}
/* Anything other than an ENOENT, EEXIST, or EISDIR indicates an
* error that we need to send back to the caller. ENOENT indicates
* that we need to try a lower level.
*/
switch (errno) {
case ENOENT:
break;
case EEXIST:
if (stat(path, &sbuf) == 0) {
if (S_ISDIR(sbuf.st_mode)) {
retval = EEXIST;
} else {
retval = ENOTDIR;
}
} else {
retval = EIO;
}
goto mkpath_exit;
case EISDIR: /* <rdar://problem/10288022> */
retval = EEXIST;
goto mkpath_exit;
default:
retval = errno;
goto mkpath_exit;
}
apath = strdup(path);
if (apath == NULL) {
retval = ENOMEM;
goto mkpath_exit;
}
while (1) {
/* Increase our depth and try making that directory */
char *s = strrchr(apath, '/');
if (!s) {
/* We should never hit this under normal circumstances,
* but it can occur due to really unfortunate timing
*/
retval = ENOENT;
goto mkpath_exit;
}
*s = '\0';
depth++;
if (0 == mkdir(apath, S_IRWXU | S_IRWXG | S_IRWXO)) {
/* Found our starting point */
/* POSIX 1003.2:
* For each dir operand that does not name an existing
* directory, effects equivalent to those cased by the
* following command shall occcur:
*
* mkdir -p -m $(umask -S),u+wx $(dirname dir) &&
* mkdir [-m mode] dir
*/
struct stat dirstat;
if (-1 == stat(apath, &dirstat)) {
/* Really unfortunate timing ... */
retval = ENOENT;
goto mkpath_exit;
}
if ((dirstat.st_mode & (S_IWUSR | S_IXUSR)) != (S_IWUSR | S_IXUSR)) {
chmod_mode = dirstat.st_mode | S_IWUSR | S_IXUSR;
if (-1 == chmod(apath, chmod_mode)) {
/* Really unfortunate timing ... */
retval = ENOENT;
goto mkpath_exit;
}
}
if (firstdir) {
*firstdir = strdup(apath);
}
break;
} else if (errno == EEXIST) {
/* Some other process won the race in creating this directory
* before we did. We will use this as our starting point.
* See: <rdar://problem/10279893>
*/
if (stat(apath, &sbuf) == 0 &&
S_ISDIR(sbuf.st_mode)) {
if (firstdir) {
*firstdir = strdup(apath);
}
break;
}
retval = ENOTDIR;
goto mkpath_exit;
} else if (errno != ENOENT) {
retval = errno;
goto mkpath_exit;
}
}
while (depth > 1) {
/* Decrease our depth and make that directory */
char *s = strrchr(apath, '\0');
*s = '/';
depth--;
if (-1 == mkdir(apath, S_IRWXU | S_IRWXG | S_IRWXO)) {
/* This handles "." and ".." added to the new section of path */
if (errno == EEXIST)
continue;
retval = errno;
goto mkpath_exit;
}
if (chmod_mode) {
if (-1 == chmod(apath, chmod_mode)) {
/* Really unfortunate timing ... */
retval = ENOENT;
goto mkpath_exit;
}
}
}
if (-1 == mkdir(path, omode)) {
retval = errno;
if (errno == EEXIST &&
stat(path, &sbuf) == 0 &&
!S_ISDIR(sbuf.st_mode)) {
retval = ENOTDIR;
}
}
mkpath_exit:
free(apath);
errno = old_errno;
return retval;
}
int mkpath_np(const char *path, mode_t omode) {
return _mkpath_np(path, omode, NULL);
}
#endif /* ! __APPLE__ */

View File

@ -0,0 +1,12 @@
#include <sys/stat.h>
#ifdef __cplusplus
extern "C"
{
#endif
int mkpath_np(const char *path, mode_t omode);
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,655 @@
# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = ld64/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/llvm.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__maybe_remake_depfiles =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ASLIBEXECDIR = @ASLIBEXECDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASFLAGS = @CCASFLAGS@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXABI_LIB = @CXXABI_LIB@
CXXCPP = @CXXCPP@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
DL_LIB = @DL_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENDIAN_FLAG = @ENDIAN_FLAG@
EXECINFO_LIB = @EXECINFO_LIB@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FTS_LIB = @FTS_LIB@
GCC_LIB = @GCC_LIB@
GREP = @GREP@
HOST_AR = @HOST_AR@
HOST_RANLIB = @HOST_RANLIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_INCLUDE_DIR = @LLVM_INCLUDE_DIR@
LLVM_LIB_DIR = @LLVM_LIB_DIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTO_DEF = @LTO_DEF@
LTO_LIB = @LTO_LIB@
LTO_RPATH = @LTO_RPATH@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCFLAGS = @OBJCFLAGS@
OBJCWARNINGS = @OBJCWARNINGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROGRAM_PREFIX = @PROGRAM_PREFIX@
PTHREAD_FLAGS = @PTHREAD_FLAGS@
RANLIB = @RANLIB@
REALLOCF_LIB = @REALLOCF_LIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAPI_DEF = @TAPI_DEF@
TAPI_LIB = @TAPI_LIB@
UUID_LIB = @UUID_LIB@
VERSION = @VERSION@
WARNINGS = @WARNINGS@
XAR_LIB = @XAR_LIB@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = 3rd ld other
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps ld64/src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps ld64/src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am clean clean-generic clean-libtool cscopelist-am ctags \
ctags-am distclean distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Some files were not shown because too many files have changed in this diff Show More