aboutsummaryrefslogtreecommitdiff
path: root/gdb/regformats
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/regformats')
-rw-r--r--gdb/regformats/reg-i386-linux.dat1
-rw-r--r--gdb/regformats/reg-x86-64-linux.dat1
-rwxr-xr-xgdb/regformats/regdat.sh20
3 files changed, 20 insertions, 2 deletions
diff --git a/gdb/regformats/reg-i386-linux.dat b/gdb/regformats/reg-i386-linux.dat
index 8ea3d11..33452ac 100644
--- a/gdb/regformats/reg-i386-linux.dat
+++ b/gdb/regformats/reg-i386-linux.dat
@@ -1,5 +1,6 @@
name:i386_linux
xmlarch:i386
+osabi:GNU/Linux
expedite:ebp,esp,eip
32:eax
32:ecx
diff --git a/gdb/regformats/reg-x86-64-linux.dat b/gdb/regformats/reg-x86-64-linux.dat
index 656f72a..6121db9 100644
--- a/gdb/regformats/reg-x86-64-linux.dat
+++ b/gdb/regformats/reg-x86-64-linux.dat
@@ -1,5 +1,6 @@
name:x86_64_linux
xmlarch:i386:x86-64
+osabi:GNU/Linux
expedite:rbp,rsp,rip
64:rax
64:rbx
diff --git a/gdb/regformats/regdat.sh b/gdb/regformats/regdat.sh
index e75beea..b04df7f 100755
--- a/gdb/regformats/regdat.sh
+++ b/gdb/regformats/regdat.sh
@@ -128,6 +128,8 @@ offset=0
i=0
name=x
xmltarget=x
+xmlarch=x
+xmlosabi=x
expedite=x
exec < $1
while do_read
@@ -140,7 +142,10 @@ do
xmltarget="${entry}"
continue
elif test "${type}" = "xmlarch"; then
- xmltarget="@<target><architecture>${entry}</architecture></target>"
+ xmlarch="${entry}"
+ continue
+ elif test "${type}" = "osabi"; then
+ xmlosabi="${entry}"
continue
elif test "${type}" = "expedite"; then
expedite="${entry}"
@@ -159,7 +164,18 @@ echo "};"
echo
echo "const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
if test "${xmltarget}" = x; then
- echo "const char *xmltarget_${name} = 0;"
+ if test "${xmlarch}" = x && test "${xmlosabi}" = x; then
+ echo "const char *xmltarget_${name} = 0;"
+ else
+ echo "const char *xmltarget_${name} = \"@<target>\\"
+ if test "${xmlarch}" != x; then
+ echo "<architecture>${xmlarch}</architecture>\\"
+ fi
+ if test "${xmlosabi}" != x; then
+ echo "<osabi>${xmlosabi}</osabi>\\"
+ fi
+ echo "</target>\";"
+ fi
else
echo "const char *xmltarget_${name} = \"${xmltarget}\";"
fi