Tree:
a48ff3efda
FSF
add-fakeroots-dir
arc-20081103-branch
arc-insight_6_8-branch
binutils-2_10-branch
binutils-2_11-branch
binutils-2_12-branch
binutils-2_13-branch
binutils-2_14-branch
binutils-2_15-branch
binutils-2_16-branch
binutils-2_17-branch
binutils-2_18-branch
binutils-2_19-branch
binutils-2_20-branch
binutils-2_21-branch
binutils-2_22-branch
binutils-2_23-branch
binutils-2_24-branch
binutils-2_25-branch
binutils-2_26-branch
binutils-2_27-branch
binutils-2_28-branch
binutils-2_29-branch
binutils-2_30-branch
binutils-2_31-branch
binutils-2_32-branch
binutils-2_33-branch
binutils-2_34-branch
binutils-2_35-branch
binutils-2_36-branch
binutils-2_37-branch
binutils-2_38-branch
binutils-2_39-branch
binutils-2_41-branch
binutils-2_41-release-point
binutils-2_42-branch
binutils-arc-20080908-branch
binutils-arc-20081103-branch
binutils-csl-2_17-branch
binutils-csl-arm-2005q1-branch
binutils-csl-gxxpro-3_4-branch
cagney-unwind-20030108-branch
cagney_bfdfile-20040213-branch
cagney_bigcore-20040122-branch
cagney_convert-20030606-branch
cagney_fileio-20030521-branch
cagney_frameaddr-20030403-branch
cagney_framebase-20030326-branch
cagney_lazyid-20030317-branch
cagney_offbyone-20030303-branch
cagney_regbuf-20020515-branch
cagney_sysregs-20020825-branch
cagney_tramp-20040309-branch
cagney_writestrings-20030508-branch
cagney_x86i386-20030821-branch
carlton_dictionary-branch
cgen-1_1-branch
cr-0x5f1
csl-arm-20050325-branch
cygnus
cygwin-64bit-branch
cygwin-64bit-premerge-branch
dberlin-typesystem-branch
dje-cgen-play1-branch
drow-cplus-branch
drow-reverse-20070409-branch
drow_intercu-20040221-branch
ezannoni_pie-20030916-branch
ezannoni_pie-20040323-branch
gdb-10-branch
gdb-11-branch
gdb-12-branch
gdb-13-branch
gdb-14-branch
gdb-4_18-branch
gdb-7.10-branch
gdb-7.11-branch
gdb-7.12-branch
gdb-7.7-branch
gdb-7.8-branch
gdb-7.9-branch
gdb-8.0-branch
gdb-8.1-branch
gdb-8.2-branch
gdb-8.3-branch
gdb-9-branch
gdb-csl-20060226-branch
gdb-csl-arm-20051020-branch
gdb-csl-available-20060303-branch
gdb-csl-gxxpro-6_3-branch
gdb-csl-symbian-20060226-branch
gdb-premipsmulti-2000-06-06-branch
gdb_5_0-2000-04-10-branch
gdb_5_1-2001-07-29-branch
gdb_5_1_0_1-2002-01-03-branch
gdb_5_2-branch
gdb_5_3-branch
gdb_6_0-branch
gdb_6_1-branch
gdb_6_2-branch
gdb_6_3-branch
gdb_6_4-branch
gdb_6_5-branch
gdb_6_6-branch
gdb_6_7-branch
gdb_6_8-branch
gdb_7_0-branch
gdb_7_1-branch
gdb_7_2-branch
gdb_7_3-branch
gdb_7_4-branch
gdb_7_5-branch
gdb_7_6-branch
gdb_s390-2001-09-26-branch
insight_6_8-branch
interps-20030202-branch
jimb-dwarf-compression-021023-branch
jimb-macro-020506-branch
jimb-ppc64-linux-20030509-branch
jimb-ppc64-linux-20030528-branch
jimb-ppc64-linux-20030613-branch
jimb-rda-nptl-branch
jimb-separate-debug-021125-branch
jimb-separate-debug-021223-branch
jimb_gnu_v3_branch
kettenis-i386newframe-20030308-branch
kettenis_i386newframe-20030406-branch
kettenis_i386newframe-20030419-branch
kettenis_sparc-20030918-branch
kseitz_interps-20020528-branch
master
msnyder-checkpoint-072509-branch
msnyder-fork-checkpoint-branch
msnyder-reverse-20060331-branch
msnyder-reverse-20060502-branch
msnyder-reverse-20080609-branch
msnyder-tracepoint-checkpoint-branch
multiprocess-20081120-branch
newlib-1_17_0-arc
newlib-autotools-branch
newlib-csl-20060320-branch
nickrob-async-20060513-branch
offbyone-20030313-branch
readline_4_3-import-branch
readline_5_1-import-branch
reverse-20080717-branch
reverse-20080930-branch
reverse-20081226-branch
sid-20020905-branch
tcltk840-20020924-branch
users/ARM/efi-aarch64-support-binutils
users/ARM/embedded-binutils-2_26-branch
users/ARM/embedded-gdb-7.10-branch
users/ARM/gcs-binutils-gdb-master
users/ARM/morello-binutils-gdb-master
users/ARM/sve
users/aburgess/bp-inferior-calls
users/aburgess/try-core-file-pid0
users/aburgess/try-mips-disasm-styling
users/ahajkova/try-frob
users/ahayward/variable_sve
users/ahayward/variable_sve2
added-to-binutils
arc-20081103-branchpoint
arc-insight_6_8-branchpoint
arc-sim-20090309
binu_ss_19990502
binu_ss_19990602
binu_ss_19990721
binutils-2_10
binutils-2_10-branchpoint
binutils-2_10_1
binutils-2_11
binutils-2_11_1
binutils-2_11_2
binutils-2_12
binutils-2_12-branchpoint
binutils-2_12_1
binutils-2_13
binutils-2_13-branchpoint
binutils-2_13_1
binutils-2_13_2
binutils-2_13_2_1
binutils-2_14
binutils-2_14-branchpoint
binutils-2_15
binutils-2_15-branchpoint
binutils-2_16
binutils-2_16-branchpoint
binutils-2_16_1
binutils-2_17
binutils-2_17-branchpoint
binutils-2_18
binutils-2_18-branchpoint
binutils-2_19
binutils-2_19-branchpoint
binutils-2_19_1
binutils-2_20
binutils-2_20-branchpoint
binutils-2_20_1
binutils-2_21
binutils-2_21-branchpoint
binutils-2_21_1
binutils-2_22
binutils-2_22-branchpoint
binutils-2_23
binutils-2_23-branchpoint
binutils-2_23_1
binutils-2_23_2
binutils-2_24
binutils-2_24-branchpoint
binutils-2_25
binutils-2_25_1
binutils-2_26
binutils-2_26_1
binutils-2_27
binutils-2_28
binutils-2_29
binutils-2_29_1
binutils-2_29_1.1
binutils-2_30
binutils-2_31
binutils-2_31_1
binutils-2_32
binutils-2_33
binutils-2_33_1
binutils-2_34
binutils-2_35
binutils-2_35_1
binutils-2_35_2
binutils-2_36
binutils-2_36_1
binutils-2_37
binutils-2_38
binutils-2_39
binutils-2_40
binutils-2_41
binutils-2_41-release
binutils-2_42
binutils-arc-20080908-branchpoint
binutils-arc-20081103-branchpoint
binutils-csl-2_17-branchpoint
binutils-csl-arm-2005q1-branchpoint
binutils-csl-arm-2005q1a
binutils-csl-arm-2005q1b
binutils-csl-arm-2006q1-6
binutils-csl-arm-2006q3-19
binutils-csl-arm-2006q3-21
binutils-csl-arm-2006q3-26
binutils-csl-arm-2006q3-27
binutils-csl-coldfire-4_1-10
binutils-csl-coldfire-4_1-11
binutils-csl-coldfire-4_1-28
binutils-csl-coldfire-4_1-30
binutils-csl-coldfire-4_1-32
binutils-csl-gxxpro-3_4-branchpoint
binutils-csl-innovasic-fido-3_4_4-33
binutils-csl-morpho-4_1-4
binutils-csl-palmsource-arm-prelinker-1_0-1
binutils-csl-renesas-4_1-6
binutils-csl-renesas-4_1-7
binutils-csl-renesas-4_1-8
binutils-csl-renesas-4_1-9
binutils-csl-sourcerygxx-3_4_4-17
binutils-csl-sourcerygxx-3_4_4-19
binutils-csl-sourcerygxx-3_4_4-21
binutils-csl-sourcerygxx-3_4_4-25
binutils-csl-sourcerygxx-3_4_4-32
binutils-csl-sourcerygxx-4_1-12
binutils-csl-sourcerygxx-4_1-13
binutils-csl-sourcerygxx-4_1-14
binutils-csl-sourcerygxx-4_1-15
binutils-csl-sourcerygxx-4_1-17
binutils-csl-sourcerygxx-4_1-18
binutils-csl-sourcerygxx-4_1-19
binutils-csl-sourcerygxx-4_1-20
binutils-csl-sourcerygxx-4_1-21
binutils-csl-sourcerygxx-4_1-22
binutils-csl-sourcerygxx-4_1-23
binutils-csl-sourcerygxx-4_1-24
binutils-csl-sourcerygxx-4_1-25
binutils-csl-sourcerygxx-4_1-26
binutils-csl-sourcerygxx-4_1-27
binutils-csl-sourcerygxx-4_1-28
binutils-csl-sourcerygxx-4_1-29
binutils-csl-sourcerygxx-4_1-30
binutils-csl-sourcerygxx-4_1-32
binutils-csl-sourcerygxx-4_1-4
binutils-csl-sourcerygxx-4_1-5
binutils-csl-sourcerygxx-4_1-6
binutils-csl-sourcerygxx-4_1-7
binutils-csl-sourcerygxx-4_1-8
binutils-csl-sourcerygxx-4_1-9
binutils-csl-wrs-linux-3_4_4-20
binutils-csl-wrs-linux-3_4_4-21
binutils-csl-wrs-linux-3_4_4-22
binutils-csl-wrs-linux-3_4_4-23
binutils-csl-wrs-linux-3_4_4-24
binutils_latest_snapshot
cagney-unwind-20030108-branchpoint
cagney_bfdfile-20040213-branchpoint
cagney_bigcore-20040122-branchpoint
cagney_convert-20030606-branchpoint
cagney_fileio-20030521-branchpoint
cagney_frameaddr-20030403-branchpoint
cagney_frameaddr-20030409-mergepoint
cagney_framebase-20030326-branchpoint
cagney_framebase-20030330-mergepoint
cagney_lazyid-20030317-branchpoint
cagney_offbyone-20030303-branchpoint
cagney_regbuf-20020515-branchpoint
cagney_sysregs-20020825-branchpoint
cagney_tramp-20040309-branchpoint
cagney_tramp-20040321-mergepoint
cagney_writestrings-20030508-branchpoint
cagney_x86i386-20030821-branchpoint
carlton-dictionary-20031111-merge
carlton_dictionary-20020920-branchpoint
carlton_dictionary-20020927-merge
carlton_dictionary-20021011-merge
carlton_dictionary-20021025-merge
carlton_dictionary-20021115-merge
carlton_dictionary-20021223-merge
carlton_dictionary-20030207-merge
carlton_dictionary-20030305-merge
carlton_dictionary-20030416-merge
carlton_dictionary-20030430-merge
carlton_dictionary-20030523-merge
carlton_dictionary-20030627-merge
carlton_dictionary-20030805-merge
carlton_dictionary-20030917-merge
carlton_dictionary-20031215-merge
carlton_dictionary-20040126-merge
cgen-1_1-branchpoint
cgen-snapshot-20071001
cgen-snapshot-20071101
cgen-snapshot-20071201
cgen-snapshot-20080101
cgen-snapshot-20080201
cgen-snapshot-20080301
cgen-snapshot-20080401
cgen-snapshot-20080501
cgen-snapshot-20080601
cgen-snapshot-20080701
cgen-snapshot-20080801
cgen-snapshot-20080901
cgen-snapshot-20081001
cgen-snapshot-20081101
cgen-snapshot-20081201
cgen-snapshot-20090101
cgen-snapshot-20090201
cgen-snapshot-20090301
cgen-snapshot-20090401
cgen-snapshot-20090501
cgen-snapshot-20090601
cgen-snapshot-20090701
cgen-snapshot-20090801
cgen-snapshot-20090901
cgen-snapshot-20091001
cgen-snapshot-20091101
cgen-snapshot-20091201
cgen-snapshot-20100101
cgen-snapshot-20100201
cgen-snapshot-20100301
cgen-snapshot-20100401
cgen-snapshot-20100501
cgen-snapshot-20100601
cgen-snapshot-20100701
cgen-snapshot-20100801
cgen-snapshot-20100901
cgen-snapshot-20101001
cgen-snapshot-20101101
cgen-snapshot-20101201
cgen-snapshot-20110101
cgen-snapshot-20110201
cgen-snapshot-20110301
cgen-snapshot-20110401
cgen-snapshot-20110501
cgen-snapshot-20110601
cgen-snapshot-20110701
cgen-snapshot-20110801
cgen-snapshot-20110901
cgen-snapshot-20111001
cgen-snapshot-20111101
cgen-snapshot-20111201
cgen-snapshot-20120101
cgen-snapshot-20120201
cgen-snapshot-20120301
cgen-snapshot-20120401
cgen-snapshot-20120501
cgen-snapshot-20120601
cgen-snapshot-20120701
cgen-snapshot-20120801
cgen-snapshot-20120901
cgen-snapshot-20121001
cgen-snapshot-20121101
cgen-snapshot-20121201
cgen-snapshot-20130101
cgen-snapshot-20130201
cgen-snapshot-20130301
cgen-snapshot-20130401
cgen-snapshot-20130501
cgen-snapshot-20130601
cgen-snapshot-20130701
cgen-snapshot-20130801
cgen-snapshot-20130901
cgen-snapshot-20131001
csl-arm-2003-q4
csl-arm-2004-q1
csl-arm-2004-q1a
csl-arm-2004-q3
csl-arm-2004-q3d
csl-arm-20050325-branchpoint
cygnus_cvs_20020108_pre
cygwin-1_1_1
cygwin-1_7_1-release
cygwin-1_7_10-release
cygwin-1_7_11-release
cygwin-1_7_12-release
cygwin-1_7_14-release
cygwin-1_7_14_2-release
cygwin-1_7_15-release
cygwin-1_7_16-release
cygwin-1_7_17-release
cygwin-1_7_18-release
cygwin-1_7_19-release
cygwin-1_7_2-release
cygwin-1_7_20-release
cygwin-1_7_21-release
cygwin-1_7_22-release
cygwin-1_7_23-release
cygwin-1_7_24-release
cygwin-1_7_25-release
cygwin-1_7_3-release
cygwin-1_7_4-release
cygwin-1_7_5-release
cygwin-1_7_7-release
cygwin-1_7_8-release
cygwin-1_7_9-release
cygwin-64bit-postmerge
cygwin-64bit-premerge
dberlin-typesystem-branchpoint
dje-cgen-play1-branchpoint
drow-cplus-branchpoint
drow-cplus-merge-20021020
drow-cplus-merge-20021025
drow-cplus-merge-20031214
drow-cplus-merge-20031220
drow-cplus-merge-20031224
drow-cplus-merge-20040113
drow-cplus-merge-20040208
drow-reverse-20070409-branchpoint
drow_intercu-20040221-branchpoint
drow_intercu-merge-20040327
drow_intercu-merge-20040402
drow_intercu-merge-20040915
drow_intercu-merge-20040921
egcs_20000222
ezannoni_pie-20030916-branchpoint
ezannoni_pie-20040323-branchpoint
gdb-10-branchpoint
gdb-10.1-release
gdb-10.2-release
gdb-11-branchpoint
gdb-11.1-release
gdb-11.2-release
gdb-12-branchpoint
gdb-12.1-release
gdb-13-branchpoint
gdb-13.1-release
gdb-13.2-release
gdb-14-branchpoint
gdb-14.1-release
gdb-14.2-release
gdb-1999-05-10
gdb-1999-05-19
gdb-1999-05-25
gdb-1999-06-01
gdb-1999-06-07
gdb-1999-06-14
gdb-1999-06-21
gdb-1999-06-28
gdb-1999-07-05
gdb-1999-07-07
gdb-1999-07-07-post-reformat-snapshot
gdb-1999-07-12
gdb-1999-07-19
gdb-1999-07-26
gdb-1999-08-02
gdb-1999-08-09
gdb-1999-08-16
gdb-1999-08-23
gdb-1999-08-30
gdb-1999-09-08
gdb-1999-09-13
gdb-1999-09-21
gdb-1999-09-28
gdb-1999-10-04
gdb-1999-10-11
gdb-1999-10-18
gdb-1999-10-25
gdb-1999-11-01
gdb-1999-11-08
gdb-1999-11-16
gdb-1999-12-06
gdb-1999-12-07
gdb-1999-12-13
gdb-1999-12-21
gdb-19990422
gdb-19990504
gdb-2000-01-05
gdb-2000-01-10
gdb-2000-01-17
gdb-2000-01-24
gdb-2000-01-26
gdb-2000-01-31
gdb-2000-02-01
gdb-2000-02-02
gdb-2000-02-04
gdb-4_18
gdb-4_18-branchpoint
gdb-4_18-release
gdb-7.10-branchpoint
gdb-7.10-release
gdb-7.10.1-release
gdb-7.11-branchpoint
gdb-7.11-release
gdb-7.11.1-release
gdb-7.12-branchpoint
gdb-7.12-release
gdb-7.12.1-release
gdb-7.7-branchpoint
gdb-7.7-release
gdb-7.7.1-release
gdb-7.8-branchpoint
gdb-7.8-release
gdb-7.8.1-release
gdb-7.8.2-release
gdb-7.9-branchpoint
gdb-7.9.0-release
gdb-7.9.1-release
gdb-8.0-branchpoint
gdb-8.0-release
gdb-8.0.1-release
gdb-8.1-branchpoint
gdb-8.1-release
gdb-8.1.1-release
gdb-8.2-branchpoint
gdb-8.2-release
gdb-8.2.1-release
gdb-8.3-branchpoint
gdb-8.3-release
gdb-8.3.1-release
gdb-9-branchpoint
gdb-9.1-release
gdb-9.2-release
gdb-csl-20060226-branch-local-2
gdb-csl-20060226-branch-merge-to-csl-local-1
gdb-csl-20060226-branch-merge-to-csl-symbian-1
gdb-csl-20060226-branchpoint
gdb-csl-arm-20050325-2005-q1a
gdb-csl-arm-20050325-2005-q1b
gdb-csl-arm-20051020-branchpoint
gdb-csl-arm-2006q1-6
gdb-csl-available-20060303-branchpoint
gdb-csl-coldfire-4_1-10
gdb-csl-coldfire-4_1-11
gdb-csl-gxxpro-6_3-branchpoint
gdb-csl-morpho-4_1-4
gdb-csl-sourcerygxx-3_4_4-17
gdb-csl-sourcerygxx-3_4_4-19
gdb-csl-sourcerygxx-3_4_4-21
gdb-csl-sourcerygxx-3_4_4-25
gdb-csl-sourcerygxx-4_1-12
gdb-csl-sourcerygxx-4_1-13
gdb-csl-sourcerygxx-4_1-14
gdb-csl-sourcerygxx-4_1-17
gdb-csl-sourcerygxx-4_1-4
gdb-csl-sourcerygxx-4_1-5
gdb-csl-sourcerygxx-4_1-6
gdb-csl-sourcerygxx-4_1-7
gdb-csl-sourcerygxx-4_1-8
gdb-csl-sourcerygxx-4_1-9
gdb-csl-symbian-20060226-branchpoint
gdb-csl-symbian-6_4_50_20060226-10
gdb-csl-symbian-6_4_50_20060226-11
gdb-csl-symbian-6_4_50_20060226-12
gdb-csl-symbian-6_4_50_20060226-8
gdb-csl-symbian-6_4_50_20060226-9
gdb-post-i18n-errorwarning-20050211
gdb-post-params-removal-2000-05-28
gdb-post-params-removal-2000-06-04
gdb-post-protoization-2000-07-29
gdb-post-ptid_t-2001-05-03
gdb-post-reformat-19990707
gdb-pre-i18n-errorwarning-20050211
gdb-pre-params-removal-2000-05-28
gdb-pre-params-removal-2000-06-04
gdb-pre-protoization-2000-07-29
gdb-pre-ptid_t-2001-05-03
gdb-pre-reformat-19990707
gdb-premipsmulti-2000-06-06-branchpoint
gdb_4_18_2-2000-05-18-release
gdb_4_95_0-2000-04-27-snapshot
gdb_4_95_1-2000-05-11-snapshot
gdb_5_0-2000-04-10-branchpoint
gdb_5_0-2000-05-19-release
gdb_5_1-2001-07-29-branchpoint
gdb_5_1-2001-11-21-release
gdb_5_1_0_1-2002-01-03-branchpoint
gdb_5_1_0_1-2002-01-03-release
gdb_5_1_1-2002-01-24-release
gdb_5_2-2002-03-03-branchpoint
gdb_5_2-2002-04-29-release
gdb_5_2-branchpoint
gdb_5_2_1-2002-07-23-release
gdb_5_3-2002-09-04-branchpoint
gdb_5_3-2002-12-12-release
gdb_5_3-branchpoint
gdb_6_0-2003-06-23-branchpoint
gdb_6_0-2003-10-04-release
gdb_6_0-branchpoint
gdb_6_1-2004-03-01-gmt-branchpoint
gdb_6_1-2004-04-05-release
gdb_6_1-branchpoint
gdb_6_1_1-20040616-release
gdb_6_2-2004-07-10-gmt-branchpoint
gdb_6_2-20040730-release
gdb_6_2-branchpoint
gdb_6_3-20041019-branchpoint
gdb_6_3-20041109-release
gdb_6_3-branchpoint
gdb_6_4-2005-11-01-branchpoint
gdb_6_4-20051202-release
gdb_6_4-branchpoint
gdb_6_5-2006-05-14-branchpoint
gdb_6_5-20060621-release
gdb_6_5-branchpoint
gdb_6_6-2006-11-15-branchpoint
gdb_6_6-2006-12-18-release
gdb_6_6-branchpoint
gdb_6_7-2007-09-07-branchpoint
gdb_6_7-2007-10-10-release
gdb_6_7-branchpoint
gdb_6_7_1-2007-10-29-release
gdb_6_8-2008-02-26-branchpoint
gdb_6_8-2008-03-27-release
gdb_6_8-branchpoint
gdb_7_0-2009-09-16-branchpoint
gdb_7_0-2009-10-06-release
gdb_7_0-branchpoint
gdb_7_0_1-2009-12-22-release
gdb_7_1-2010-02-18-branchpoint
gdb_7_1-2010-03-18-release
gdb_7_1-branchpoint
gdb_7_2-2010-07-07-branchpoint
gdb_7_2-2010-09-02-release
gdb_7_2-branchpoint
gdb_7_3-2011-04-01-branchpoint
gdb_7_3-2011-07-26-release
gdb_7_3-branchpoint
gdb_7_3_1-2011-09-04-release
gdb_7_4-2011-12-13-branchpoint
gdb_7_4-2012-01-24-release
gdb_7_4-branchpoint
gdb_7_4_1-2012-04-26-release
gdb_7_5-2012-07-18-branchpoint
gdb_7_5-2012-08-17-release
gdb_7_5-branchpoint
gdb_7_5_1-2012-11-29-release
gdb_7_6-2013-03-12-branchpoint
gdb_7_6-2013-04-26-release
gdb_7_6-branchpoint
gdb_7_6_1-2013-08-30-release
gdb_7_6_2-2013-12-08-release
gdb_s390-2001-09-26-branchpoint
gettext_0_10_35
gprof-post-ansify-2004-05-26
gprof-pre-ansify-2004-05-26
hjl/gpoff-backup
hjl/linux/release/2.24.51.0.1
hjl/linux/release/2.24.51.0.2
hjl/linux/release/2.24.51.0.3
hjl/linux/release/2.24.51.0.4
hjl/linux/release/2.25.51.0.1
insight-2000-02-04
insight-precleanup-2001-01-01
insight_6_5-20061003-release
insight_6_6-20070208-release
insight_6_8-branchpoint
interps-20030202-branchpoint
interps-20030203-mergepoint
jimb-dwarf-compression-021023-branchpoint
jimb-gdb_6_2-e500-branchpoint
jimb-macro-020506-branchpoint
jimb-ppc64-linux-20030509-branchpoint
jimb-ppc64-linux-20030528-branchpoint
jimb-ppc64-linux-20030613-branchpoint
jimb-rda-nptl-branchpoint
jimb_gnu_v3_branchpoint
kettenis-i386newframe-20030308-branchpoint
kettenis-i386newframe-20030316-mergepoint
kettenis_i386newframe-20030406-branchpoint
kettenis_i386newframe-20030419-branchpoint
kettenis_i386newframe-20030504-mergepoint
kettenis_i386newframe-20030517-mergepoint
kettenis_sparc-20030918-branchpoint
kseitz_interps-20020528-branchpoint
kseitz_interps-20020829-merge
kseitz_interps-20020930-merge
kseitz_interps-20021103-merge
kseitz_interps-20021105-merge
mingw-runtime-2_4
msnyder-checkpoint-072509-branchpoint
msnyder-fork-checkpoint-branchpoint
msnyder-reverse-20060331-branchpoint
msnyder-reverse-20060502-branchpoint
msnyder-reverse-20080609-branchpoint
msnyder-tracepoint-checkpoint-branchpoint
multiprocess-20081120-branchpoint
newlib-1_10_0
newlib-1_11_0
newlib-1_12_0
newlib-1_13_0
newlib-1_14_0
newlib-1_15_0
newlib-1_16_0
newlib-1_17_0
newlib-1_18_0
newlib-1_19_0
newlib-1_20_0
newlib-1_9_0
newlib-2_0_0
newlib-csl-20060320-branchpoint
newlib-csl-arm-2005-q1a
newlib-csl-arm-2005-q1b
newlib-csl-arm-2006q1-6
newlib-csl-arm-2006q3-19
newlib-csl-arm-2006q3-21
newlib-csl-arm-2006q3-26
newlib-csl-arm-2006q3-27
newlib-csl-coldfire-4_1-28
newlib-csl-coldfire-4_1-30
newlib-csl-coldfire-4_1-32
newlib-csl-innovasic-fido-3_4_4-33
newlib-csl-sourcerygxx-3_4_4-25
newlib-csl-sourcerygxx-4_1-12
newlib-csl-sourcerygxx-4_1-13
newlib-csl-sourcerygxx-4_1-14
newlib-csl-sourcerygxx-4_1-17
newlib-csl-sourcerygxx-4_1-18
newlib-csl-sourcerygxx-4_1-19
newlib-csl-sourcerygxx-4_1-21
newlib-csl-sourcerygxx-4_1-23
newlib-csl-sourcerygxx-4_1-24
newlib-csl-sourcerygxx-4_1-26
newlib-csl-sourcerygxx-4_1-27
newlib-csl-sourcerygxx-4_1-28
newlib-csl-sourcerygxx-4_1-30
newlib-csl-sourcerygxx-4_1-32
newlib-csl-sourcerygxx-4_1-4
newlib-csl-sourcerygxx-4_1-5
newlib-csl-sourcerygxx-4_1-6
newlib-csl-sourcerygxx-4_1-7
newlib-csl-sourcerygxx-4_1-8
newlib-csl-sourcerygxx-4_1-9
nickrob-async-20060513-branchpoint
nickrob-async-20060828-mergepoint
offbyone-20030313-branchpoint
pre-gettext-0-10-35
readline-pre-41-import
readline-pre-43-import
readline-pre-51-import
readline_4_0
readline_4_1
readline_4_3
readline_4_3-import-branchpoint
readline_5_1
readline_5_1-import-branchpoint
repo-unification-2000-02-06
reverse-20080717-branchpoint
reverse-20080930-branchpoint
reverse-20081226-branchpoint
sid-20020905-branchpoint
sid-snapshot-20071001
sid-snapshot-20071101
sid-snapshot-20071201
sid-snapshot-20080101
sid-snapshot-20080201
sid-snapshot-20080301
sid-snapshot-20080401
sid-snapshot-20080403
sid-snapshot-20080501
sid-snapshot-20080601
sid-snapshot-20080701
sid-snapshot-20080801
sid-snapshot-20080901
sid-snapshot-20081001
sid-snapshot-20081101
sid-snapshot-20081201
sid-snapshot-20090101
sid-snapshot-20090201
sid-snapshot-20090301
sid-snapshot-20090401
sid-snapshot-20090501
sid-snapshot-20090601
sid-snapshot-20090701
sid-snapshot-20090801
sid-snapshot-20090901
sid-snapshot-20091001
sid-snapshot-20091101
sid-snapshot-20091201
sid-snapshot-20100101
sid-snapshot-20100201
sid-snapshot-20100301
sid-snapshot-20100401
sid-snapshot-20100501
sid-snapshot-20100601
sid-snapshot-20100701
sid-snapshot-20100801
sid-snapshot-20100901
sid-snapshot-20101001
sid-snapshot-20101101
sid-snapshot-20101201
sid-snapshot-20110101
sid-snapshot-20110201
sid-snapshot-20110301
sid-snapshot-20110401
sid-snapshot-20110501
sid-snapshot-20110601
sid-snapshot-20110701
sid-snapshot-20110801
sid-snapshot-20110901
sid-snapshot-20111001
sid-snapshot-20111101
sid-snapshot-20111201
sid-snapshot-20120101
sid-snapshot-20120201
sid-snapshot-20120301
sid-snapshot-20120401
sid-snapshot-20120501
sid-snapshot-20120601
sid-snapshot-20120701
sid-snapshot-20120801
sid-snapshot-20120901
sid-snapshot-20121001
sid-snapshot-20121101
sid-snapshot-20121201
sid-snapshot-20130101
sid-snapshot-20130201
sid-snapshot-20130301
sid-snapshot-20130401
sid-snapshot-20130501
sid-snapshot-20130601
sid-snapshot-20130701
sid-snapshot-20130801
sid-snapshot-20130901
sid-snapshot-20131001
tcltk840-20020924-branchpoint
users/ARM/embedded-binutils-2_26-branch-2016q1
users/ARM/embedded-binutils-2_26-branch-2016q2
users/ARM/embedded-binutils-2_26-branch-2016q3
users/ARM/embedded-binutils-2_28-branch-2017q1
users/ARM/embedded-binutils-2_28-branch-2017q2
users/ARM/embedded-binutils-2_30-branch-2018q2
users/ARM/embedded-binutils-master-2016q4
users/ARM/embedded-binutils-master-2017q4
users/ARM/embedded-binutils-master-2018q4
users/ARM/embedded-gdb-2_26-branch-2016q1
users/ARM/embedded-gdb-7.10-branch-2016q1
users/ARM/embedded-gdb-7.10-branch-2016q2
users/ARM/embedded-gdb-7.10-branch-2016q3
users/ARM/embedded-gdb-7.12-branch-2016q4
users/ARM/embedded-gdb-7.12-branch-2017q1
users/ARM/embedded-gdb-7.12-branch-2017q2
users/ARM/embedded-gdb-8.1-branch-2018q2
users/ARM/embedded-gdb-master-2017q4
users/ARM/embedded-gdb-master-2018q4
users/ARM/users/ARM/embedded-gdb-2_26-branch-2016q1
users/gbenson/thread_db-test/2017-11-22
users/gbenson/thread_db-test/2018-05-23
users/hjl/linux/release/2.25.51.0.2
users/hjl/linux/release/2.25.51.0.3
users/hjl/linux/release/2.25.51.0.4
users/hjl/linux/release/2.26.51.0.1
users/hjl/linux/release/2.26.51.0.2
users/hjl/linux/release/2.28.51.0.1
users/hjl/linux/release/2.29.51.0.1
w32api-2_2
x86_64versiong3
${ noResults }
2704 Commits (a48ff3efda87200f2a9b69d72287f9b6cd5dbba1)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
8f46711443 |
arc: Construct disassembler options dynamically
The idea of this change is simple: Populate a data structure, namely "disasm_option_and_arg_t" from "include/dis-asm.h", to encompass the disassembly options and their possible arguments. This will make it easier to manage or extend those options by adapting entries in a data structure, "arc_options". There will be lesser need to hard-code the options in the code itself. Moreover, ARC GDB will use this population function, "disassembler_options_arc ()", to enable the "set disassembler-option" for ARC targets. The gdb change will be in a separate patch though. The changes in this patch can be divided into: 1) Introduction of "disassembler_options_arc ()" that will return a "disasm_option_and_arg_t" structure representing the disassembly options and their likely arguments. 2) New data type "arc_options_arg_t" and new data "arc_options". These are the internals for keeping track of options and arguments entries that can easily be extended. 3) To print the options, the "print_arc_disassembler_options ()" has been adjusted to use this dynamically built structure instead of having them hard-coded inside. To see this in effect, one can look into the output of: $ ./binutils/objdump --help ... The following ARC specific disassembler options are... ... include/ChangeLog: * dis-asm.h (disassembler_options_arc): New prototype. opcodes/ChangeLog: * arc-dis.c (arc_option_arg_t): New enumeration. (arc_options): New variable. (disassembler_options_arc): New function. (print_arc_disassembler_options): Reimplement in terms of "disassembler_options_arc". |
5 years ago |
|
|
21629cf8bc |
MIPS/opcodes: Properly handle ISA exclusion
Remove the hack used for MIPSr6 ISA exclusion from `cpu_is_member' and handle the exclusion for any ISA levels properly in `opcode_is_member'. Flatten the structure of the `if' statements there. No functional change for the existing opcode tables. include/ * opcode/mips.h (cpu_is_member): Remove code for MIPSr6 ISA exclusion. (opcode_is_member): Handle ISA level exclusion. |
5 years ago |
|
|
b1458c4569 |
MIPS/opcodes: Factor out ISA matching against flags
In preparation for the next change factor out code for ISA matching against instruction flags used in MIPS opcode tables, similarly to how CPU matching is already done. No functional change, though for clarity split the single `if' statement into multiple ones and use temporaries rather than repeated expressions. include/ * opcode/mips.h (isa_is_member): New inline function, factored out from... (opcode_is_member): ... here. |
5 years ago |
|
|
9204ccd4b1 |
MIPS/opcodes: Do not use CP0 register names for control registers
The CP0 control register set has never been defined, however encodings
for the CFC0 and CTC0 instructions remained available for implementers
up until the MIPS32 ISA declared them invalid and causing the Reserved
Instruction exception[1]. Therefore we handle them for both assembly
and disassembly, however in the latter case the names of CP0 registers
from the regular set are incorrectly printed if named registers are
requested. This is because we do not define separate operand classes
for coprocessor regular and control registers respectively, which means
the disassembler has no way to tell the two cases apart. Consequently
nonsensical disassembly is produced like:
cfc0 v0,c0_random
Later the MIPSr5 ISA reused the encodings for XPA ASE MFHC0 and MTHC0
instructions[2] although it failed to document them in the relevant
opcode table until MIPSr6 only.
Correct the issue then by defining a new register class, OP_REG_CONTROL,
and corresponding operand codes, `g' and `y' for the two positions in
the machine instruction a control register operand can take. Adjust the
test cases affected accordingly.
While at it swap the regular MIPS opcode table "cfc0" and "ctc0" entries
with each other so that they come in the alphabetical order.
References:
[1] "MIPS32 Architecture For Programmers, Volume II: The MIPS32
Instruction Set", MIPS Technologies, Inc., Document Number: MD00086,
Revision 1.00, August 29, 2002, Table A-9 "MIPS32 COP0 Encoding of
rs Field", p. 242
[2] "MIPS Architecture For Programmers, Volume II-A: The MIPS32
Instruction Set", MIPS Technologies, Inc., Document Number: MD00086,
Revision 5.04, December 11, 2013, Section 3.2 "Alphabetical List of
Instructions", pp. 195, 216
include/
* opcode/mips.h: Document `g' and `y' operand codes.
(mips_reg_operand_type): Add OP_REG_CONTROL enumeration
constant.
gas/
* tc-mips.c (convert_reg_type) <OP_REG_CONTROL>: New case.
(macro) <M_TRUNCWS, M_TRUNCWD>: Use the `g' rather than `G'
operand code.
opcodes/
* mips-dis.c (print_reg) <OP_REG_COPRO>: Move control register
handling code over to...
<OP_REG_CONTROL>: ... this new case.
* mips-opc.c (decode_mips_operand) <'g', 'y'>: New cases.
(mips_builtin_opcodes): Update "cfc1", "ctc1", "cttc1", "cttc2",
"cfc0", "ctc0", "cfc2", "ctc2", "cfc3", and "ctc3" entries
replacing the `G' operand code with `g'. Update "cftc1" and
"cftc2" entries replacing the `E' operand code with `y'.
* micromips-opc.c (decode_micromips_operand) <'g'>: New case.
(micromips_opcodes): Update "cfc1", "cfc2", "ctc1", and "ctc2"
entries replacing the `G' operand code with `g'.
binutils/
* testsuite/binutils-all/mips/mips-xpa-virt-1.d: Correct CFC0
operand disassembly.
* testsuite/binutils-all/mips/mips-xpa-virt-3.d: Likewise.
|
5 years ago |
|
|
cccc84faff |
MIPS/opcodes: Free up redundant `g' operand code
In the operand handling rewrite made for the MIPS disassembler with commit |
5 years ago |
|
|
1273b2f8ac |
x86: Restore PC16 relocation overflow check
The x86-64 psABI has --- A program or object file using R_X86_64_8, R_X86_64_16, R_X86_64_PC16 or R_X86_64_PC8 relocations is not conformant to this ABI, these relocations are only added for documentation purposes. --- Since x86 PC16 relocations have been used for 16-bit programs in an ELF32 or ELF64 container, PC16 relocation should wrap-around in 16-bit address space. Revert commit |
5 years ago |
|
|
50c95a739c |
x86: Propery check PC16 reloc overflow in 16-bit mode instructions
commit
|
5 years ago |
|
|
01a8c731aa |
elf: Use official name LoongArch for EM_LOONGARCH.
The official name for Loongson Architecture is LoongArch, it is better to use LoongArch instead of Loongson Loongarch for EM_LOONGARCH to avoid confusion and keep consistent with the various of software in the future. The official documentation in Chinese: http://www.loongson.cn/uploadfile/cpu/LoongArch.pdf The translated version in English: https://loongson.github.io/LoongArch-Documentation/ binutils/ * readelf.c (get_machine_name): Change Loongson Loongarch to LoongArch. include/ * elf/common.h (EM_LOONGARCH): Change Loongson Loongarch to LoongArch. |
5 years ago |
|
|
894982bfcc |
[AArch64] MTE corefile support
bfd * elf.c (elfcore_make_memtag_note_section): New function. (elfcore_grok_note): Handle NT_MEMTAG note types. binutils* readelf.c (get_note_type): Handle NT_MEMTAG note types. include * elf/common.h (NT_MEMTAG): New constant. (NT_MEMTAG_TYPE_AARCH_MTE): New constant. |
5 years ago |
|
|
2fbe9507bf |
sim: callback: convert FS interfaces to 64-bit
Rather than rely on off_t being the right size between the host & target, have the interface always be 64-bit. We can figure out if we need to truncate when actually outputting it to the right target. |
5 years ago |
|
|
00330cd18a |
sim: callback: convert time interface to 64-bit
PR sim/27705 Rather than rely on time_t being the right size between the host & target, have the interface always be 64-bit. We can figure out if we need to truncate when actually outputting it to the right target. |
5 years ago |
|
|
64654371d6 |
sim: callback: inline PTR define
We require C11 now, so no need for these pre-ANSI C hacks. PTR is simply void*, so use that directly. |
5 years ago |
|
|
7fb6dc36bb |
sim: callback: use ATTRIBUTE_NORETURN
This define is handled by ansidecl.h, so no need to duplicate effort. |
5 years ago |
|
|
2e4885ee8f |
sim: callback: always include necessary headers
We use types from these headers, so always include them. |
5 years ago |
|
|
df68e12b3b |
sim: create header namespace
The gdb/callback.h & gdb/remote-sim.h headers have nothing to do with gdb and are really definitions for the libsim API under the sim/ tree. While gdb uses those headers as a client, it's not specific to it. So create a new sim/ namespace and move the headers there. |
5 years ago |
|
|
97834047e1 |
Fix .dwsect generation for XCOFF. Handle .function generated with DWARF on XCOFF.
gas * config/tc-ppc.c (ppc_function): Update comment for fifth argument. (ppc_frob_symbol): Remove ppc_last_function check. Make sure coff_last_function is reset. Correctly set fsize when not provided in .function. * testsuite/gas/ppc/aix.exp: New tests. * testsuite/gas/ppc/xcoff-function-1-32.d: New test. * testsuite/gas/ppc/xcoff-function-1-64.d: New test. * testsuite/gas/ppc/xcoff-function-1.s: New test. bfd * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF sections. * coffgen.c (coff_pointerize_aux): Handle C_DWARF. (coff_print_symbol): Likewise. * libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update. gas * config/obj-coff.c (coff_frob_symbol): Don't skip C_DWARF. (coff_adjust_section_syms): Use corrext auxent for C_DWARF. (coff_frob_section): Likewise. * config/obj-coff.h (SA_GET_SECT_SCNLEN, SA_GET_SECT_NRELOC, SA_SET_SECT_SCNLEN, SA_SET_SECT_NRELOC) New defines. (SET_SECTION_RELOCS): Adjust for C_DWARF. * config/tc-ppc.c (ppc_frob_symbol): Don't skip C_DWARF. (ppc_adjust_symtab): Reorder C_DWARF symbols. * testsuite/gas/ppc/aix.exp: New tests. * testsuite/gas/ppc/xcoff-dwsect-2-32.d: New test. * testsuite/gas/ppc/xcoff-dwsect-2-64.d: New test. * testsuite/gas/ppc/xcoff-dwsect-2.s: New test. include * coff/internal.h (C_DWARF): New define. * coff/xcoff.h (SSUBTYP_DWLOC, SSUBTYP_DWFRAME, SSUBTYP_DWMAC): New defines. |
5 years ago |
|
|
c759c777c9 |
libiberty: add htab_eq_string
The libiberty hash table includes a helper function for strings, but no equality function. Consequently, this equality function has been reimplemented a number of times in both the gcc and binutils-gdb source trees. This patch adds the function to the libiberty hash table, as a step toward the goal of removing all the copies. One change to gcc is included here. Normally I would have put this in the next patch, but gensupport.c used the most natural name for its reimplementation of this function, and this can't coexist with the extern function in libiberty. include * hashtab.h (htab_eq_string): Declare. libiberty * hashtab.c (htab_eq_string): New function. |
5 years ago |
|
|
0b3e14c902 |
or1k: Implement relocation R_OR1K_GOT_AHI16 for gotha()
The gotha() relocation mnemonic will be outputted by OpenRISC GCC when using the -mcmodel=large option. This relocation is used along with got() to generate 32-bit GOT offsets. This increases the previous GOT offset limit from the previous 16-bit (64K) limit. This is needed on large binaries where the GOT grows larger than 64k. bfd/ChangeLog: PR 21464 * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation. * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise. (or1k_final_link_relocate, or1k_elf_relocate_section, or1k_elf_check_relocs): Likewise. * libbfd.h (bfd_reloc_code_real_names): Likewise. * reloc.c: Likewise. cpu/ChangeLog: PR 21464 * or1k.opc (or1k_imm16_relocs, parse_reloc): Define parse logic for gotha() relocation. include/ChangeLog: PR 21464 * elf/or1k.h (elf_or1k_reloc_type): Define R_OR1K_GOT_AHI16 number. opcodes/ChangeLog: PR 21464 * or1k-asm.c: Regenerate. gas/ChangeLog: PR 21464 * testsuite/gas/or1k/reloc-1.s: Add test for new relocation. * testsuite/gas/or1k/reloc-1.d: Add test result for new relocation. Cc: Giulio Benetti <giulio.benetti@benettiengineering.com> fixup reloc, add tests |
5 years ago |
|
|
49da556c65 |
libctf, include: support an alternative encoding for nonrepresentable types
Before now, types that could not be encoded in CTF were represented as references to type ID 0, which does not itself appear in the dictionary. This choice is annoying in several ways, principally that it forces generators and consumers of CTF to grow special cases for types that are referenced in valid dicts but don't appear. Allow an alternative representation (which will become the only representation in format v4) whereby nonrepresentable types are encoded as actual types with kind CTF_K_UNKNOWN (an already-existing kind theoretically but not in practice used for padding, with value 0). This is backward-compatible, because CTF_K_UNKNOWN was not used anywhere before now: it was used in old-format function symtypetabs, but these were never emitted by any compiler and the code to handle them in libctf likely never worked and was removed last year, in favour of new-format symtypetabs that contain only type IDs, not type kinds. In order to link this type, we need an API addition to let us add types of unknown kind to the dict: we let them optionally have names so that GCC can emit many different unknown types and those types with identical names will be deduplicated together. There are also small tweaks to the deduplicator to actually dedup such types, to let opening of dicts with unknown types with names work, to return the ECTF_NONREPRESENTABLE error on resolution of such types (like ID 0), and to print their names as something useful but not a valid C identifier, mostly for the sake of the dumper. Tests added in the next commit. include/ChangeLog 2021-05-06 Nick Alcock <nick.alcock@oracle.com> * ctf.h (CTF_K_UNKNOWN): Document that it can be used for nonrepresentable types, not just padding. * ctf-api.h (ctf_add_unknown): New. libctf/ChangeLog 2021-05-06 Nick Alcock <nick.alcock@oracle.com> * ctf-open.c (init_types): Unknown types may have names. * ctf-types.c (ctf_type_resolve): CTF_K_UNKNOWN is as non-representable as type ID 0. (ctf_type_aname): Print unknown types. * ctf-dedup.c (ctf_dedup_hash_type): Do not early-exit for CTF_K_UNKNOWN types: they have real hash values now. (ctf_dedup_rwalk_one_output_mapping): Treat CTF_K_UNKNOWN types like other types with no referents: call the callback and do not skip them. (ctf_dedup_emit_type): Emit via... * ctf-create.c (ctf_add_unknown): ... this new function. * libctf.ver (LIBCTF_1.2): Add it. |
5 years ago |
|
|
b11b2969a9 |
Harmonize and improve auxiliary entries support for XCOFF
bfd/ChangeLog: * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for unsupported storage class or auxialiry entries. Improve and adapt to new aux structures. Add C_DWARF support. (_bfd_xcoff_swap_aux_out): Likewise. * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise. (_bfd_xcoff64_swap_aux_out): Likewise. binutils/ChangeLog: * od-xcoff.c (dump_xcoff32_symbols): Adapt to new aux structures. include/ChangeLog: * coff/internal.h (union internal_auxent): Add x_sect structure. * coff/rs6000.h (union external_auxent): Rework to match official documentation. * coff/rs6k64.h (union external_auxent): Likewise. (_AUX_SECT): New define. |
5 years ago |
|
|
18e9a809e8 |
Extend the description of PE header flags.
PR 27760 include * coff/pe.h (IMAGE_DLLCHARACTERISTICS_APPCONTAINER): Define. (IMAGE_DLLCHARACTERISTICS_GUARD_CF): Define. bfd * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add display of IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP, IMAGE_FILE_NET_RUN_FROM_SWAP and IMAGE_FILE_UP_SYSTEM_ONLY flags. Decode the contents of the DllCharacteristics field. |
5 years ago |
|
|
6f8f6017a0 |
PR27567, Linking PE files adds alignment section flags to executables
So don't set those flags for an executable. In the patch I also test DYNAMIC even though the PE bfd code doesn't appear to set it for dlls. I figure it doesn't hurt to include that flag too. PR 27567 bfd/ * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags. (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT, ignore alignment checks when return is false. Formatting. include/ * coff/internal.h (struct internal_scnhdr): Make s_flags unsigned long. * coff/pe.h (COFF_ENCODE_ALIGNMENT): Don't set align flags for an executable and return false. Do so for a relocatable object and evaluate to true. * coff/ti.h (COFF_ENCODE_ALIGNMENT): Add bfd arg and evaluate to true. (COFF_DECODE_ALIGNMENT): Formatting. * coff/z80.h (COFF_ENCODE_ALIGNMENT): Similarly. (COFF_DECODE_ALIGNMENT): Similarly. |
5 years ago |
|
|
c3f72de4f5 |
PowerPC disassembly of pcrel references
This adds some annotation to Power10 pcrel instructions, displaying the target address (ie. pc + D34 field) plus a symbol if there is one at exactly that target address. pld from the .got or .plt will also look up the entry and display it, symbolically if there is a dynamic relocation on the entry. include/ * dis-asm.h (struct disassemble_info): Add dynrelbuf and dynrelcount. binutils/ * objdump.c (struct objdump_disasm_info): Delete dynrelbuf and dynrelcount. (find_symbol_for_address): Adjust for dynrelbuf and dynrelcount move. (disassemble_section, disassemble_data): Likewise. opcodes/ * ppc-dis.c (struct dis_private): Add "special". (POWERPC_DIALECT): Delete. Replace uses with.. (private_data): ..this. New inline function. (disassemble_init_powerpc): Init "special" names. (skip_optional_operands): Add is_pcrel arg, set when detecting R field of prefix instructions. (bsearch_reloc, print_got_plt): New functions. (print_insn_powerpc): For pcrel instructions, print target address and symbol if known, and decode plt and got loads too. gas/ * testsuite/gas/ppc/prefix-pcrel.d: Update expected output. * testsuite/gas/ppc/prefix-reloc.d: Likewise. * gas/testsuite/gas/ppc/vsx_32byte.d: Likewise. ld/ * testsuite/ld-powerpc/inlinepcrel-1.d: Update expected output. * testsuite/ld-powerpc/inlinepcrel-2.d: Likewise. * testsuite/ld-powerpc/notoc2.d: Likewise. * testsuite/ld-powerpc/notoc3.d: Likewise. * testsuite/ld-powerpc/pcrelopt.d: Likewise. * testsuite/ld-powerpc/startstop.d: Likewise. * testsuite/ld-powerpc/tlsget.d: Likewise. * testsuite/ld-powerpc/tlsget2.d: Likewise. * testsuite/ld-powerpc/tlsld.d: Likewise. * testsuite/ld-powerpc/weak1.d: Likewise. * testsuite/ld-powerpc/weak1so.d: Likewise. |
5 years ago |
|
|
a2e6677373 |
Return symbol from symbol_at_address_func
include/ * dis-asm.h (struct disassemble_info <symbol_at_address_func>): Return asymbol*. binutils/ * objdump.c (objdump_symbol_at_address): Return asymbol*. opcodes/ * dis-buf.c (generic_symbol_at_address): Return symbol* NULL. * s12z-dis.c (decode_possible_symbol): Use symbol returned from symbol_at_address_func. |
5 years ago |
|
|
e9b095a538 |
Remove strneq macro and use startswith.
bfd/ChangeLog: * ecoff.c (strneq): Remove strneq and use startswith. (_bfd_ecoff_slurp_armap): Likewise. binutils/ChangeLog: * elfcomm.h (strneq): Remove strneq and use startswith. * readelf.c (ia64_process_unwind): Likewise. (process_note): Likewise. gas/ChangeLog: * config/obj-coff.c (strneq): Remove strneq and use startswith. (weak_is_altname): Likewise. (obj_coff_section): Likewise. * config/tc-cr16.c (process_label_constant): Likewise. * config/tc-crx.c (strneq): Likewise. include/ChangeLog: * opcode/cr16.h (strneq): Remove strneq and use startswith. ld/ChangeLog: * ldbuildid.c (strneq): Remove strneq and use startswith. (validate_build_id_style): Likewise. (compute_build_id_size): Likewise. opcodes/ChangeLog: * arm-dis.c (strneq): Remove strneq and use startswith. * cr16-dis.c (print_insn_cr16): Likewise. * score-dis.c (streq): Likewise. (strneq): Likewise. * score7-dis.c (strneq): Likewise. |
5 years ago |
|
|
9193bc4285 |
Use bool in include
* bfdlink.h: Replace bfd_boolean with bool throughout. * coff/ecoff.h: Likewise. * coff/xcoff.h: Likewise. * dis-asm.h: Likewise. * elf/mmix.h: Likewise. * elf/xtensa.h: Likewise. * opcode/aarch64.h: Likewise, and FALSE with false, TRUE with true. * opcode/arc.h: Likewise. * opcode/mips.h: Likewise. * opcode/tic6x-opcode-table.h: Likewise. * opcode/tic6x.h: Likewise. |
5 years ago |
|
|
3dfb1b6d34 |
Remove bfd_stdint.h
If we require C99 for binutils then stdint.h is available. bfd/ * .gitignore: Delete bfd_stdint.h entry. * Makefile.am (bfdinclude_HEADERS): Delete bfd_stdint.h. (BUILD_HFILES, LOCAL_H_DEPS): Likewise. * bfd-in.h: Include stdint.h in place of bfd_stdint.h. * configure.ac: Don't invoke GCC_HEADER_STDINT. * configure.com: Don't create bfd_stdint.h. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * bfd-in2.h: Regenerate. * config.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * po/BLD-POTFILES.in: Regenerate. binutils/ * coffdump.c: Include stdint.h in place of bfd_stdint.h. * dwarf.c: Likewise. gas/ * config/tc-aarch64.c: Include stdint.h in place of bfd_stdint.h. * config/tc-crx.c: Likewise. * config/tc-nds32.h: Likewise. include/ * cgen/basic-modes.h: Include stdint.h in place of bfd_stdint.h. * elf/nfp.h: Likewise. * opcode/aarch64.h: Likewise. * opcode/cgen.h: Likewise. * opcode/nfp.h: Likewise. * opcode/ppc.h: Likewise. ld/ * elf-hints-local.h: Include stdint.h in place of bfd_stdint.h. * emultempl/nds32elf.em: Likewise. * testsuite/ld-elf/mbind2b.c: Likewise. * testsuite/ld-elf/pr18718.c: Likewise. * testsuite/ld-elf/pr18720a.c: Likewise. * testsuite/ld-elf/pr25749-1.c: Likewise. * testsuite/ld-elf/pr25749-1a.c: Likewise. * testsuite/ld-elf/pr25749-1b.c: Likewise. * testsuite/ld-elf/pr25749-1c.c: Likewise. * testsuite/ld-elf/pr25749-1d.c: Likewise. * testsuite/ld-elf/pr25749-2.c: Likewise. * testsuite/ld-elf/pr25754-1a.c: Likewise. * testsuite/ld-elf/pr25754-2a.c: Likewise. * testsuite/ld-elf/pr25754-3a.c: Likewise. * testsuite/ld-elf/pr25754-4a.c: Likewise. * testsuite/ld-elf/pr25754-5a.c: Likewise. * testsuite/ld-elf/pr25754-6a.c: Likewise. opcodes/ * aarch64-dis.c: Include stdint.h in place of bfd_stdint.h. * aarch64-dis.h: Likewise. * aarch64-opc.c: Likewise. * avr-dis.c: Likewise. * csky-dis.c: Likewise. * nds32-asm.c: Likewise. * nds32-dis.c: Likewise. * nfp-dis.c: Likewise. * riscv-dis.c: Likewise. * s12z-dis.c: Likewise. * wasm32-dis.c: Likewise. |
5 years ago |
|
|
63b4cc53dc |
TRUE/FALSE simplification
There is really no need to write code like "foo != 0 ? TRUE : FALSE"
unless we had stupidly defined FALSE as something other than 0 or TRUE
as something other than 1. The simpler "foo != 0" does just as well.
Similarly "(condition == TRUE)" or "(condition == FALSE) can be
simplified to "(condition)" and "(!condition)" respectively.
I'll note that there is reason to use "integer_expression != 0" when
assigning a bfd_boolean rather than the simpler "integer_expression",
if you expect the variable to have 0 or 1 value. It's probably even a
good idea to not rely on implicit conversion if bfd_boolean were _Bool.
bfd/
* aoutx.h (aout_link_write_symbols): Don't cast boolean expression
to bfd_boolean.
* elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
against FALSE.
* elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
(is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
(is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
(is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
* elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
* elf32-nds32.c (insert_nds32_elf_blank): Likewise.
* elf32-rx.c (rx_set_section_contents): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
* elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
* mach-o.c (bfd_mach_o_read_command): Likewise.
* targets.c (bfd_get_target_info): Likewise.
binutils/
* dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
* dwarf.c (read_and_display_attr_value): Likewise.
(display_debug_str_offsets): Likewise.
* objdump.c (dump_bfd): Likewise.
* readelf.c (dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
gas/
* atof-generic.c (FALSE, TRUE): Don't define.
* config/obj-elf.h (FALSE, TRUE): Don't define.
* config/obj-som.h (FALSE, TRUE): Don't define.
* config/tc-hppa.h (FALSE, TRUE): Don't define.
* config/tc-pdp11.c (FALSE, TRUE): Don't define.
* config/tc-iq2000.h (obj_fix_adjustable): Delete.
* config/tc-m32r.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-mt.h (obj_fix_adjustable): Delete.
* config/tc-nds32.h (TC_FIX_ADJUSTABLE): Delete.
* config/tc-arc.c (parse_opcode_flags): Simplify boolean expression.
(relaxable_flag, relaxable_operand, assemble_insn): Likewise.
(tokenize_extregister): Likewise.
* config/tc-csky.c (parse_opcode, get_operand_value): Likewise.
(parse_operands_op, parse_operands, md_assemble): Likewise.
* config/tc-d10v.c (build_insn): Likewise.
* config/tc-score.c (s3_gen_insn_frag): Likewise.
* config/tc-score7.c (s7_gen_insn_frag, s7_relax_frag): Likewise.
* config/tc-tic6x.c (tic6x_update_features, md_assemble): Likewise.
* config/tc-z80.c (emit_byte): Likewise.
include/
* opcode/aarch64.h (alias_opcode_p): Simplify boolean expression.
(opcode_has_alias, pseudo_opcode_p, optional_operand_p): Likewise.
(opcode_has_special_coder): Likewise.
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Simplify
boolean expression.
* lexsup.c (parse_args): Likewise.
* pe-dll.c (pe_dll_id_target): Likewise.
opcodes/
* aarch64-opc.c (vector_qualifier_p): Simplify boolean expression.
(fp_qualifier_p, get_data_pattern): Likewise.
(aarch64_get_operand_modifier_from_value): Likewise.
(aarch64_extend_operator_p, aarch64_shift_operator_p): Likewise.
(operand_variant_qualifier_p): Likewise.
(qualifier_value_in_range_constraint_p): Likewise.
(aarch64_get_qualifier_esize): Likewise.
(aarch64_get_qualifier_nelem): Likewise.
(aarch64_get_qualifier_standard_value): Likewise.
(get_lower_bound, get_upper_bound): Likewise.
(aarch64_find_best_match, match_operands_qualifier): Likewise.
(aarch64_print_operand): Likewise.
* aarch64-opc.h (operand_has_inserter, operand_has_extractor): Likewise.
(operand_need_sign_extension, operand_need_shift_by_two): Likewise.
(operand_need_shift_by_four, operand_maybe_stack_pointer): Likewise.
* arm-dis.c (print_insn_mve, print_insn_thumb32): Likewise.
* tic6x-dis.c (tic6x_check_fetch_packet_header): Likewise.
(print_insn_tic6x): Likewise.
|
5 years ago |
|
|
3d7d6c1b50 |
opcodes int vs bfd_boolean fixes
cpu/ * frv.opc (frv_is_branch_major, frv_is_float_major), (frv_is_media_major, frv_is_branch_insn, frv_is_float_insn), (frv_is_media_insn, spr_valid): Correct prototypes. include/ * opcode/aarch64.h (aarch64_opcode_encode): Correct prototype. opcodes/ * arc-dis.c (extract_operand_value): Correct NULL cast. * frv-opc.h: Regenerate. |
5 years ago |
|
|
24c877f9b1 |
include: always do unsigned left-shift in CTF_SET_STID
This turns into a signed left shift by 31 bits, otherwise. This is an offset and is always treated as unsigned in any case, so add an appropriate cast. include/ChangeLog 2021-03-25 Nick Alcock <nick.alcock@oracle.com> PR libctf/27628 * ctf-api.h: Fix some indentation. (CTF_SET_STID): Always do an unsigned shift, even if STID is signed. |
5 years ago |
|
|
5e984dbf35 |
AArch64: Add MTE register set support for GDB and gdbserver
AArch64 MTE support in the Linux kernel exposes a new register through ptrace. This patch adds the required code to support it. include/ChangeLog: 2021-03-24 Luis Machado <luis.machado@linaro.org> * elf/common.h (NT_ARM_TAGGED_ADDR_CTRL): Define. gdb/ChangeLog: 2021-03-24 Luis Machado <luis.machado@linaro.org> * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function. (store_mteregs_to_thread): New function. (aarch64_linux_nat_target::fetch_registers): Update to call fetch_mteregs_from_thread. (aarch64_linux_nat_target::store_registers): Update to call store_mteregs_to_thread. * aarch64-tdep.c (aarch64_mte_register_names): New struct. (aarch64_cannot_store_register): Handle MTE registers. (aarch64_gdbarch_init): Initialize and setup MTE registers. * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field. <has_mte>: New method. * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define. gdbserver/ChangeLog: 2021-03-24 Luis Machado <luis.machado@linaro.org> * linux-aarch64-low.cc (aarch64_fill_mteregset): New function. (aarch64_store_mteregset): New function. (aarch64_regsets): Add MTE register set entry. (aarch64_sve_regsets): Add MTE register set entry. |
6 years ago |
|
|
7b9f985957 |
elf: Rename EM_INTEL205 to EM_INTELGT
Rename EM_INTEL205 to EM_INTELGT for Intel Graphics Technology. binutils/ * readelf.c (get_machine_name): Add EM_INTELGT. include/ * elf/common.h (EM_INTEL205): Renamed to ... (EM_INTELGT): This. |
5 years ago |
|
|
012d442686 |
Fix a potential buffer overrun qwhen writing out PE aux entries.
* peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer overrun by using sizeof of the destination x_fname field as the limit for a memcpy. * coff/internal.h (struct internal_auxent): Fix a couple of typos in comment describing the x_fname field. |
5 years ago |
|
|
80d49d6a1b |
RISC-V : Support bitmanip-0.93 ZBA/ZBB/ZBC instructions
bfd/ * elfxx-riscv.c (riscv_std_z_ext_strtab): Add zba, zbb and zbc. gas/ * config/tc-riscv.c (ext_version_table): Add b, zba, zbb and zbc. (riscv_multi_subset_supports): Add INSN_CLASS_ZB*. * testsuite/gas/riscv/b-ext-64.s: Bitmanip test case. * testsuite/gas/riscv/b-ext-64.d: Likewise. * testsuite/gas/riscv/b-ext.s: Likewise. * testsuite/gas/riscv/b-ext.d: Likewise. include/ * opcode/riscv-opc.h: Support zba, zbb and zbc extensions. * opcode/riscv.h (riscv_insn_class): Add INSN_CLASS_ZB*. opcodes/ * riscv-opc.c (riscv_opcodes): Add zba, zbb and zbc instructions. |
5 years ago |
|
|
be3b926d8d |
Add values for NetBSD .note.netbsd.ident notes (PaX).
* elf/common.h (NT_NETBSD_PAX, NT_NETBSD_PAX_MPROTECT) (NT_NETBSD_PAX_NOMPROTECT, NT_NETBSD_PAX_GUARD, NT_NETBSD_PAX_NOGUARD) (NT_NETBSD_PAX_ASLR, NT_NETBSD_PAX_NOASLR): Define. |
5 years ago |
|
|
1b2cb8e2ee |
aix: implement TLS relocation for gas and ld
Add support for TLS in XCOFF. Amongst the things done by this commit: - Update XCOFF auxialiary header to match new version and allow TLS sections. - Add TLS sections (.tdata and .tbss) support in gas and ld. - Add support for the TLS relocations in gas and ld. Two different types BFD_RELOC are created for PPC and PPC64 as the size is a pointer, thus distinct in 32 or 64bit. The addresses given by ld to .tdata and .tbss is a bit special. In XCOFF, these addresses are actually offsets from the TLS pointer computed at runtime. AIX assembly and linker does the same. In top of that, the .tdata must be before .data (this is mandatory for AIX loader). Thus, the aix ld script is recomputing "." before .data to restore its original value. There might be a simpler way, but this one is working. Optimisation linked to TLS relocations aren't yet implemented. bfd/ * reloc.c (BFD_RELOC_PPC_TLS_LE, BFD_RELOC_PPC_TLS_IE, BFD_RELOC_PPC_TLS_M, BFD_RELOC_PPC_TLS_ML, BFD_RELOC_PPC64_TLS_GD, BFD_RELOC_PPC64_TLS_LD, BFD_RELOC_PPC64_TLS_LE, BFD_RELOC_PPC64_TLS_IE, BFD_RELOC_PPC64_TLS_M, BFD_RELOC_PPC64_TLS_ML): New relocations. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * coff-rs6000.c (xcoff_calculate_relocation): Call xcoff_reloc_type_tls for TLS relocations. (xcoff_howto_table): Implement TLS relocations. (_bfd_xcoff_reloc_type_lookup): Add cases TLS relocations. (xcoff_reloc_type_tls): New function. * coff64-rs6000.c (xcoff_calculate_relocation): Likewise. (xcoff_howto_table): Likewise. (_bfd_xcoff_reloc_type_lookup): Likewise. * coffcode.h (sec_to_styp_flags): Handle TLS sections. (styp_to_sec_flags): Likewise. (coff_compute_section_file_positions): Avoid file offset optimisation for .data when the previous section is .tdata. (coff_write_object_contents): Handle TLS sections. * coffswap.h (coff_swap_aouthdr_out): Add support for new fields in aouthdr. * libxcoff.h (xcoff_reloc_type_tls): Add prototype. * xcofflink.c (xcoff_link_add_symbols): Handle XMC_UL. (xcoff_need_ldrel_p): Add cases for TLS relocations. (xcoff_create_ldrel): Add l_symndx for TLS sections. gas/ * config/tc-ppc.c (ppc_xcoff_text_section, ppc_xcoff_data_section, (ppc_xcoff_bss_section, ppc_xcoff_tdata_section, (ppc_xcoff_tbss_section): New variables. (ppc_text_subsegment, ppc_text_csects, ppc_data_subgments, (ppc_data_csects): Removed. (ppc_xcoff_section_is_initialized, ppc_init_xcoff_section, ppc_xcoff_parse_cons): New functions. (md_being): Initialize XCOFF sections. (ppc_xcoff_suffix): Add support for TLS relocations (fixup_size, md_apply_fix): Add support for new BFD_RELOC. (ppc_change_csect): Handle XMC_TL, XMC_UL. Correctly, add XMC_BS to .bss section. Handle new XCOFF section variables. (ppc_comm): Likewise. (ppc_toc): Likewise. (ppc_symbol_new_hook): Likewise. (ppc_frob_symbol): Likewise. (ppc_fix_adjustable): Add tbss support. * config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): New define. (ppc_xcoff_parse_cons): Add prototype. (struct ppc_xcoff_section): New structure. ld/ * emultempl/aix.em: Ensure .tdata section is removed if empty, even with -r flag. * scripttempl/aix.sc: Handle TLS sections. * testsuite/ld-powerpc/aix52.exp: Add new tests. * testsuite/ld-powerpc/aix-tls-reloc-32.d: New test. * testsuite/ld-powerpc/aix-tls-reloc-64.d: New test. * testsuite/ld-powerpc/aix-tls-reloc.ex: New test. * testsuite/ld-powerpc/aix-tls-reloc.s: New test. * testsuite/ld-powerpc/aix-tls-section-32.d: New test. * testsuite/ld-powerpc/aix-tls-section-64.d: New test. * testsuite/ld-powerpc/aix-tls-section.ex: New test. * testsuite/ld-powerpc/aix-tls-section.s: New test. include/ * coff/internal.h (struct internal_aouthdr): Add new fields. * coff/rs6000.h (AOUTHDRÃ): Add new fields. * coff/rs6k64.h (struct external_filehdr): Likewise. * coff/xcoff.h (_TDATA), _TBSS): New defines (RS6K_AOUTHDR_TLS_LE, RS6K_AOUTHDR_RAS, RS6K_AOUTHDR_ALGNTDATA, RS6K_AOUTHDR_SHR_SYMTAB, RS6K_AOUTHDR_FORK_POLICY, RS6K_AOUTHDR_FORK_COR): New defines. (XMC_TU): Removed. (XMC_UL): New define. |
5 years ago |
|
|
2c1bef53de |
aix: correct HOWTO table and add missing relocations
Since the last time AIX HOWTO table was modified, IBM has now released an official documentation about XCOFF relocations. This commit corrects the wrong ones and add some missing. For now, the "custom" relocations made for xcoff_rtype2howto have been kept. The new relocations are still set as EMPTY_HOWTO because they will be implemented in later commits. In xcoff[64]_ppc_relocate_section, instead of recreating howto from scratch, it's better to use the existing howto from the table and fixing it according to r_size field. bfd/ * coff-rs6000.c (xcoff_calculate_relocation): Correct and add new relocations. (xcoff_howto_table): Likewise. (xcoff_rtype2howto): Increase r_type maximum value. (xcoff_ppc_relocate_section): Reuse predefined HOWTOs instead of create a new one from scratch. Enable only some relocations to have a changing r_size. * coff64-rs6000.c (xcoff64_calculate_relocation): Likewise. (xcoff64_howto_table): Likewise. (xcoff64_rtype2howto): Likewise. (xcoff64_ppc_relocate_section): Likewise. * libxcoff.h (XCOFF_MAX_CALCULATE_RELOCATION): Fix value. binutils/ * od-xcoff.c: Replace RTB by TRL entry. include/ * coff/xcoff.h (R_RTB): Remove. (R_TRL): Fix value. |
5 years ago |
|
|
db6092f3ae |
bfd/binutils: add support for RISC-V CSRs in core files
Adds support for including RISC-V control and status registers into core files. The value for the define NT_RISCV_CSR is set to 0x900, this corresponds to a patch I have proposed for the Linux kernel here: http://lists.infradead.org/pipermail/linux-riscv/2020-December/003910.html As I have not yet heard if the above patch will be accepted into the kernel or not I have set the note name string to "GDB", and the note type to NT_RISCV_CSR. This means that if the above patch is rejected from the kernel, and the note type number 0x900 is assigned to some other note type, we will still be able to distinguish between the GDB produced NT_RISCV_CSR, and the kernel produced notes, where the name would be set to "CORE". bfd/ChangeLog: * elf-bfd.h (elfcore_write_riscv_csr): Declare. * elf.c (elfcore_grok_riscv_csr): New function. (elfcore_grok_note): Handle NT_RISCV_CSR. (elfcore_write_riscv_csr): New function. (elfcore_write_register_note): Handle '.reg-riscv-csr'. binutils/ChangeLog: * readelf.c (get_note_type): Handle NT_RISCV_CSR. include/ChangeLog: * elf/common.h (NT_RISCV_CSR): Define. |
5 years ago |
|
|
b63a5e38ef |
bfd/binutils: support for gdb target descriptions in the core file
This commit lays the ground work for allowing GDB to write its target description into a generated core file. The goal of this work is to allow a user to connect to a remote target, capture a core file from within GDB, then pass the executable and core file to another user and have the user be able to examine the state of the machine without needing to connect to a running target. Different remote targets can have different register sets and this information is communicated from the target to GDB in the target description. It is possible for a user to extract the target description from GDB and pass this along with the core file so that when the core file is used the target description can be fed back into GDB, however this is not a great user experience. It would be nicer, I think, if GDB could write the target description directly into the core file, and then make use of this description when loading a core file. This commit performs the binutils/bfd side of this task, adding the boiler plate functions to access the target description from within a core file note, and reserving a new number for a note containing the target description. Later commits will extend GDB to make use of this. The new note is given the name 'GDB' and a type NT_GDB_TDESC. This should hopefully protect us if there's ever a reuse of the number assigned to NT_GDB_TDESC by some other core file producer. It should also, hopefully, make it clearer to users that this note carries GDB specific information. bfd/ChangeLog: * elf-bfd.h (elfcore_write_gdb_tdesc): Declare new function. * elf.c (elfcore_grok_gdb_tdesc): New function. (elfcore_grok_note): Handle NT_GDB_TDESC. (elfcore_write_gdb_tdesc): New function. (elfcore_write_register_note): Handle NT_GDB_TDESC. binutils/ChangeLog: * readelf.c (get_note_type): Handle NT_GDB_TDESC. include/ChangeLog: * elf/common.h (NT_GDB_TDESC): Define. |
5 years ago |
|
|
dc83f2d20e |
Split relocation defines out of coff/internal.h
include/ * coff/internal.h: Delete obsolete relocation defines. Move used relocation defines.. * coff/i386.h: ..to here.. * coff/ti.h: ..and here.. * coff/x86_64.h: ..and here.. * coff/z80.h: ..and here.. * coff/z8k.h: ..and here. bfd/ * reloc.c: Include x86_64.h rather than internal.h. |
5 years ago |
|
|
8915c559d4 |
libctf, include: remove the nondeduplicating CTF linker
The nondeduplicating CTF linker was kept around when the deduplicating one was added so that people had something to fall back to in case the deduplicating linker turned out to be buggy. It's now much more stable than the nondeduplicating linker, in addition to much faster, using much less memory and producing much better output. In addition, while libctf has a linker flag to invoke the nondeduplicating linker, ld does not expose it: the only way to turn it on within ld is an intentionally- undocumented environment variable. So we can remove it without any ABI or user-visibility concerns (the only thing we leave around is the CTF_LINK_NONDEDUP flag, which can easily be interpreted as "deduplicate less", though right now it does nothing). This lets us remove a lot of complexity associated with tracking filenames and CU names separately (something the deduplcating linker never bothered with, since the cunames are always reliable and ld never hands us useful filenames anyway) The biggest lacuna left behind is the ctf_type_mapping machinery, which slows down deduplicating links quite a lot. We can't just ditch it because ctf_add_type uses it: removing the slowdown from the deduplicating linker is a job for another commit. include/ChangeLog 2021-03-02 Nick Alcock <nick.alcock@oracle.com> * ctf-api.h (CTF_LINK_SHARE_DUPLICATED): Note that this might merely change how much deduplication is done. libctf/ChangeLog 2021-03-02 Nick Alcock <nick.alcock@oracle.com> * ctf-link.c (ctf_create_per_cu): Drop FILENAME now that it is always identical to CUNAME. (ctf_link_deduplicating_one_symtypetab): Adjust. (ctf_link_one_type): Remove. (ctf_link_one_input_archive_member): Likewise. (ctf_link_close_one_input_archive): Likewise. (ctf_link_one_input_archive): Likewise. (ctf_link): No longer call it. Drop CTF_LINK_NONDEDUP path. Improve header comment a bit (dicts, not files). Adjust ctf_create_per_cu call. (ctf_link_deduplicating_variables): Simplify. (ctf_link_in_member_cb_arg_t) <cu_name>: Remove. <in_input_cu_file>: Likewise. <in_fp_parent>: Likewise. <done_parent>: Likewise. (ctf_link_one_variable): Turn uses of in_file_name to in_cuname. |
5 years ago |
|
|
8ee10e8609 |
PR27451, -z start_stop_gc
When --gc-sections is in effect, a reference from a retained section to __start_SECNAME or __stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either __start_SECNAME or __stop_SECNAME is synthesized by the linker. Add an option to disable that feature, effectively ignoring any relocation that references a synthesized linker defined __start_ or __stop_ symbol. PR 27451 include/ * bfdlink.h (struct bfd_link_info): Add start_stop_gc. bfd/ * elflink.c (_bfd_elf_gc_mark_rsec): Ignore synthesized linker defined start/stop symbols when start_stop_gc. (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise. (bfd_elf_define_start_stop): Don't modify ldscript_def syms. * linker.c (bfd_generic_define_start_stop): Likewise. ld/ * emultempl/elf.em: Handle -z start-stop-gc and -z nostart-stop-gc. * lexsup.c (elf_static_list_options): Display help for them. Move help for -z stack-size to here from elf_shlib_list_options. Add help for -z start-stop-visibility and -z undefs. * ld.texi: Document -z start-stop-gc and -z nostart-stop-gc. * NEWS: Mention -z start-stop-gc. * testsuite/ld-gc/start2.s, * testsuite/ld-gc/start2.d: New test. * testsuite/ld-gc/gc.exp: Run it. |
5 years ago |
|
|
89753bbf81 |
Warn when a script redefines a symbol
Note that we don't even warn if scripts adjust a symbol as in ld-elf/var1 and ld-scripts/pr14962. include/ * bfdlink.h (struct bfd_link_info): Add warn_multiple_definition. ld/ * ldexp.c (exp_fold_tree_1): Warn on script defining a symbol defined in an object file. * ldmain.c (multiple_definition): Heed info->warn_multiple_definition. * testsuite/ld-scripts/defined5.d: Expect a warning. |
5 years ago |
|
|
f4f60336da |
libctf, include: find types of symbols by name
The existing ctf_lookup_by_symbol and ctf_arc_lookup_symbol functions suffice to look up the types of symbols if the caller already has a symbol number. But the caller often doesn't have one of those and only knows the name of the symbol: also, in object files, the caller might not have a useful symbol number in any sense (and neither does libctf: the 'symbol number' we use in that case literally starts at 0 for the lexicographically first-sorted symbol in the symtypetab and counts those symbols, so it corresponds to nothing useful). This means that even though object files have a symtypetab (generated by the compiler or by ld -r), the only way we can look up anything in it is to iterate over all symbols in turn with ctf_symbol_next until we find the one we want. This is unhelpful and pointlessly inefficient. So add a pair of functions to look up symbols by name in a dict and in a whole archive: ctf_lookup_by_symbol_name and ctf_arc_lookup_symbol_name. These are identical to the existing functions except that they take symbol names rather than symbol numbers. To avoid insane repetition, we do some refactoring in the process, so that both ctf_lookup_by_symbol and ctf_arc_lookup_symbol turn into thin wrappers around internal functions that do both lookup by symbol index and lookup by name. This massively reduces code duplication because even the existing lookup-by-index stuff wants to use a name sometimes (when looking up in indexed sections), and the new lookup-by-name stuff has to turn it into an index sometimes (when looking up in non-indexed sections): doing it this way lets us share most of that. The actual name->index lookup is done by ctf_lookup_symbol_idx. We do not anticipate this lookup to be as heavily used as ld.so symbol lookup by many orders of magnitude, so using the ELF symbol hashes would probably take more time to read them than is saved by using the hashes, and it adds a lot of complexity. Instead, do a linear search for the symbol name, caching all the name -> index mappings as we go, so that future searches are likely to hit in the cache. To avoid having to repeat this search over and over in a CTF archive when ctf_arc_lookup_symbol_name is used, have cached archive lookups (the sort done by ctf_arc_lookup_symbol* and the ctf_archive_next iterator) pick out the first dict they cache in a given archive and store it in a new ctf_archive field, ctfi_crossdict_cache. This can be used to store cross-dictionary cached state that depends on things like the ELF symbol table rather than the contents of any one dict. ctf_lookup_symbol_idx then caches its name->index mappings in the dictionary named in the crossdict cache, if any, so that ctf_lookup_symbol_idx in other dicts in the same archive benefit from the previous linear search, and the symtab only needs to be scanned at most once. (Note that if you call ctf_lookup_by_symbol_name in one specific dict, and then follow it with a ctf_arc_lookup_symbol_name, the former will not use the crossdict cache because it's only populated by the dict opens in ctf_arc_lookup_symbol_name. This is harmless except for a small one-off waste of memory and time: it's only a cache, after all. We can fix this later by using the archive caching machinery more aggressively.) In ctf-archive, we do similar things, turning ctf_arc_lookup_symbol into a wrapper around a new function that does both index -> ID and name -> ID lookups across all dicts in an archive. We add a new ctfi_symnamedicts cache that maps symbol names to the ctf_dict_t * that it was found in (so that linear searches for symbols don't need to be repeated): but we also *remove* a cache, the ctfi_syms cache that was memoizing the actual ctf_id_t returned from every call to ctf_arc_lookup_symbol. This is pointless: all it saves is one call to ctf_lookup_by_symbol, and that's basically an array lookup and nothing more so isn't worth caching. (Equally, given that symbol -> index mappings are cached by ctf_lookup_by_symbol_name, those calls are nearly free after the first call, so there's no point caching the ctf_id_t in that case either.) We fix up one test that was doing manual symbol lookup to use ctf_arc_lookup_symbol instead, and enhance it to check that the caching layer is not totally broken: we also add a new test to do lookups in a .o file, and another to do lookups in an archive with conflicted types and make sure that sort of multi-dict lookup is actually working. include/ChangeLog 2021-02-17 Nick Alcock <nick.alcock@oracle.com> * ctf-api.h (ctf_arc_lookup_symbol_name): New. (ctf_lookup_by_symbol_name): Likewise. libctf/ChangeLog 2021-02-17 Nick Alcock <nick.alcock@oracle.com> * ctf-impl.h (ctf_dict_t) <ctf_symhash>: New. <ctf_symhash_latest>: Likewise. (struct ctf_archive_internal) <ctfi_crossdict_cache>: New. <ctfi_symnamedicts>: New. <ctfi_syms>: Remove. (ctf_lookup_symbol_name): Remove. * ctf-lookup.c (ctf_lookup_symbol_name): Propagate errors from parent properly. Make static. (ctf_lookup_symbol_idx): New, linear search for the symbol name, cached in the crossdict cache's ctf_symhash (if available), or this dict's (otherwise). (ctf_try_lookup_indexed): Allow the symname to be passed in. (ctf_lookup_by_symbol): Turn into a wrapper around... (ctf_lookup_by_sym_or_name): ... this, supporting name lookup too, using ctf_lookup_symbol_idx in non-writable dicts. Special-case name lookup in dynamic dicts without reported symbols, which have no symtab or dynsymidx but where name lookup should still work. (ctf_lookup_by_symbol_name): New, another wrapper. * ctf-archive.c (enosym): Note that this is present in ctfi_symnamedicts too. (ctf_arc_close): Adjust for removal of ctfi_syms. Free the ctfi_symnamedicts. (ctf_arc_flush_caches): Likewise. (ctf_dict_open_cached): Memoize the first cached dict in the crossdict cache. (ctf_arc_lookup_symbol): Turn into a wrapper around... (ctf_arc_lookup_sym_or_name): ... this. No longer cache ctf_id_t lookups: just call ctf_lookup_by_symbol as needed (but still cache the dicts those lookups succeed in). Add lookup-by-name support, with dicts of successful lookups cached in ctfi_symnamedicts. Refactor the caching code a bit. (ctf_arc_lookup_symbol_name): New, another wrapper. * ctf-open.c (ctf_dict_close): Free the ctf_symhash. * libctf.ver (LIBCTF_1.2): New version. Add ctf_lookup_by_symbol_name, ctf_arc_lookup_symbol_name. * testsuite/libctf-lookup/enum-symbol.c (main): Use ctf_arc_lookup_symbol rather than looking up the name ourselves. Fish it out repeatedly, to make sure that symbol caching isn't broken. (symidx_64): Remove. (symidx_32): Remove. * testsuite/libctf-lookup/enum-symbol-obj.lk: Test symbol lookup in an unlinked object file (indexed symtypetab sections only). * testsuite/libctf-writable/symtypetab-nonlinker-writeout.c (try_maybe_reporting): Check symbol types via ctf_lookup_by_symbol_name as well as ctf_symbol_next. * testsuite/libctf-lookup/conflicting-type-syms.*: New test of lookups in a multi-dict archive. |
5 years ago |
|
|
5a9f5403c7 |
RISC-V: PR27158, fixed UJ/SB types and added CSS/CL/CS types for .insn.
* Renamed obsolete UJ/SB types and RVC types, also added CSS/CL(CS) types,
[VALID/EXTRACT/ENCODE macros]
BTYPE_IMM: Renamed from SBTYPE_IMM.
JTYPE_IMM: Renamed from UJTYPE_IMM.
CITYPE_IMM: Renamed from RVC_IMM.
CITYPE_LUI_IMM: Renamed from RVC_LUI_IMM.
CITYPE_ADDI16SP_IMM: Renamed from RVC_ADDI16SP_IMM.
CITYPE_LWSP_IMM: Renamed from RVC_LWSP_IMM.
CITYPE_LDSP_IMM: Renamed from RVC_LDSP_IMM.
CIWTYPE_IMM: Renamed from RVC_UIMM8.
CIWTYPE_ADDI4SPN_IMM: Renamed from RVC_ADDI4SPN_IMM.
CSSTYPE_IMM: Added for .insn without special encoding.
CSSTYPE_SWSP_IMM: Renamed from RVC_SWSP_IMM.
CSSTYPE_SDSP_IMM: Renamed from RVC_SDSP_IMM.
CLTYPE_IMM: Added for .insn without special encoding.
CLTYPE_LW_IMM: Renamed from RVC_LW_IMM.
CLTYPE_LD_IMM: Renamed from RVC_LD_IMM.
RVC_SIMM3: Unused and removed.
CBTYPE_IMM: Renamed from RVC_B_IMM.
CJTYPE_IMM: Renamed from RVC_J_IMM.
* Added new operands and removed the unused ones,
C5: Unsigned CL(CS) immediate, added for .insn directive.
C6: Unsigned CSS immediate, added for .insn directive.
Ci: Unused and removed.
C<: Unused and removed.
bfd/
PR 27158
* elfnn-riscv.c (perform_relocation): Updated encoding macros.
(_bfd_riscv_relax_call): Likewise.
(_bfd_riscv_relax_lui): Likewise.
* elfxx-riscv.c (howto_table): Likewise.
gas/
PR 27158
* config/tc-riscv.c (riscv_ip): Updated encoding macros.
(md_apply_fix): Likewise.
(md_convert_frag_branch): Likewise.
(validate_riscv_insn): Likewise. Also arranged operands, including
added C5 and C6 operands, and removed unused Ci and C< operands.
* doc/c-riscv.texi: Updated and added CSS/CL/CS types.
* testsuite/gas/riscv/insn.d: Added CSS/CL/CS instructions.
* testsuite/gas/riscv/insn.s: Likewise.
gdb/
PR 27158
* riscv-tdep.c (decode_ci_type_insn): Updated encoding macros.
(decode_j_type_insn): Likewise.
(decode_cj_type_insn): Likewise.
(decode_b_type_insn): Likewise.
(decode): Likewise.
include/
PR 27158
* opcode/riscv.h: Updated encoding macros.
opcodes/
PR 27158
* riscv-dis.c (print_insn_args): Updated encoding macros.
* riscv-opc.c (MASK_RVC_IMM): defined to ENCODE_CITYPE_IMM.
(match_c_addi16sp): Updated encoding macros.
(match_c_lui): Likewise.
(match_c_lui_with_hint): Likewise.
(match_c_addi4spn): Likewise.
(match_c_slli): Likewise.
(match_slli_as_c_slli): Likewise.
(match_c_slli64): Likewise.
(match_srxi_as_c_srxi): Likewise.
(riscv_insn_types): Added .insn css/cl/cs.
sim/
PR 27158
* riscv/sim-main.c (execute_i): Updated encoding macros.
|
5 years ago |
|
|
3d73d29e4e |
RISC-V: Add bfd/cpu-riscv.h to support all spec versions controlling.
Make the opcode/riscv-opc.c and include/opcode/riscv.h tidy, move the
spec versions stuff to bfd/cpu-riscv.h. Also move the csr stuff and
ext_version_table to gas/config/tc-riscv.c for internal use. To avoid
too many repeated code, define general RISCV_GET_SPEC_NAME/SPEC_CLASS
macros. Therefore, assembler/dis-assembler/linker/gdb can get all spec
versions related stuff from cpu-riscv.h and cpu-riscv.c, since the stuff
are defined there uniformly.
bfd/
* Makefile.am: Added cpu-riscv.h.
* Makefile.in: Regenerated.
* po/SRC-POTFILES.in: Regenerated.
* cpu-riscv.h: Added to support spec versions controlling.
Also added extern arrays and functions for cpu-riscv.c.
(enum riscv_spec_class): Define all spec classes here uniformly.
(struct riscv_spec): Added for all specs.
(RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
(RISCV_GET_SPEC_NAME): Likewise.
(RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
(RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
(RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
* cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
(riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
(riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
(riscv_priv_specs): Moved below.
(riscv_get_priv_spec_class_from_numbers): Likewise, updated.
(riscv_isa_specs): Moved from include/opcode/riscv.h.
* elfnn-riscv.c: Included cpu-riscv.h.
(riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
* elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
(RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
* elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
gas/
* config/tc-riscv.c: Included cpu-riscv.h.
(enum riscv_csr_clas): Moved from include/opcode/riscv.h.
(struct riscv_csr_extra): Likewise.
(struct riscv_ext_version): Likewise.
(ext_version_table): Moved from opcodes/riscv-opc.c.
(default_isa_spec): Updated type to riscv_spec_class.
(default_priv_spec): Likewise.
(riscv_set_default_isa_spec): Updated.
(init_ext_version_hash): Likewise.
(riscv_init_csr_hash): Likewise, also fixed indent.
include/
* opcode/riscv.h: Moved stuff and make the file tidy.
opcodes/
* riscv-dis.c: Included cpu-riscv.h, and removed elfxx-riscv.h.
(default_priv_spec): Updated type to riscv_spec_class.
(parse_riscv_dis_option): Updated.
* riscv-opc.c: Moved stuff and make the file tidy.
|
5 years ago |
|
|
ba2b480f10 |
IBM Z: Implement instruction set extensions
opcodes/
* s390-mkopc.c (main): Accept arch14 as cpu string.
* s390-opc.txt: Add new arch14 instructions.
include/
* opcode/s390.h (enum s390_opcode_cpu_val): Add
S390_OPCODE_ARCH14.
gas/
* config/tc-s390.c (s390_parse_cpu): New entry for arch14.
* doc/c-s390.texi: Document arch14 march option.
* testsuite/gas/s390/s390.exp: Run the arch14 related tests.
* testsuite/gas/s390/zarch-arch14.d: New test.
* testsuite/gas/s390/zarch-arch14.s: New test.
|
5 years ago |
|
|
bfd428bc12 |
opcodes: tic54x: namespace exported variables
The tic54x exports some fairly generic variable names that can conflict with programs that use them, so put proper tic54x_ prefixes on all of them. |
5 years ago |
|
|
5f40035fb8 |
RISC-V: PR27348, Remove the obsolete OP_*CUSTOM_IMM.
include/
PR 27348
* opcode/riscv.h: Remove obsolete OP_*CUSTOM_IMM.
|
5 years ago |
|
|
cb4ff67af3 |
RISC-V: PR27348, Remove obsolete Xcustom support.
include/
PR 27348
* opcode/riscv-opc.h: Remove obsolete Xcustom support.
|
5 years ago |