blob: 6659a815b9029d2b1856914bcd858b936ea6e9ee [file] [log] [blame]
These tests reference between archives.
======================
Contents Description
======================
1) src - the source files of testing programs
2) obj - the object files of source programs. Each are compiled by gcc -c -m32
3) thin_archive - the thin archives used by exec_thin_ar_*.ll:
thin_archive_test1.a - contains archive_test1.o and archive_test2.o
thin_archive_test2.a - contains archive_test2.o and archive_test3.o
thin_archive_test3.a - contains archive_test3.o and archive_test4.o
thin_archive_test4.a - contains archive_test4.o and archive_test5.o
thin_archive_all.a - contains archive_test5.o, archive_test4.o,
archive_test3.o, archive_test2.o and archive_test1.o
in order
4) nested_ar - the thin archive used by exec_nested_ar.ll
thin_archive_test2.a - contains archive_test2.o and archive_test3.o
thin_archive_test3.a - contains archive_test3.o and thin_archive_test2.a
archive_test4.a - contains archive_test4.o and archive_test5.o
thin_archive_test1.a - contains thin_archive_test3.a, archive_test4.a and
archive_test1.o
5) irix6_ar - the Irix6 archive used by exec_irix6_ar_1.ll. All object files
compiled by "mips-linux-gnu-gcc -mips64r2 -mabi64 -EL".
irix6_archive_all.a - contains archive_test1.o ... archive_test5.o
archive_main.o - archive_main.c
============
test cases
============
1) exec_thin_ar_1.ll:
link obj/archive_main.o, thin_ar/thin_archive_test1.a, thin_ar/thin_archive_test2.a,
thin_ar/thin_archive_test3.a and thin_ar/thin_archive_test4.a
2) exec_thin_ar_2.ll:
link obj/archive_main.o and thin_ar/thin_archive_all.a
3) exec_nested_ar.ll:
link obj/archive_main.o and nested_ar/thin_archive_test1.a
4) exec_whole_ar_1.ll:
link
"--whole-archive nested_ar/thin_archive_test2.a nested_ar/archive_test4.a --no-whole-archive"
and
"nested_ar/thin_archive_test1.a"
5) exec_whole_ar_2.ll:
link
"--whole-archive thin_ar/thin_archive_test1.a --no-whole-archive",
"thin_ar/thin_archive_test2.a", and
"--whole-archive thin_ar/thin_archive_test4.a --no-whole-archive"
6) exec_group_1.ll:
link thin_ar/thin_archive_test4.a, thin_ar/thin_archive_test3.a, thin_ar/thin_archive_test2.a,
thin_ar/thin_archive_test1.a inside --start-group and --end-group
7) exec_group_2.ll:
link "--whole-archive thin_ar/thin_archive_test4.a --no-whole-archive",
thin_ar/thin_archive_test3.a, thin_ar/thin_archive_test2.a, thin_ar/thin_archive_test1.a and
some object and share object files inside --start-group and --end-group
8) exec_irix6_ar_1.ll:
link obj/archive_main.o and thin_ar/thin_archive_all.a
check reading Irix6 archive format used by MIPS64 targets.