aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/linux-i386-ipa.cc
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2023-02-08 15:36:23 -0500
committerSimon Marchi <simon.marchi@polymtl.ca>2023-02-08 15:46:02 -0500
commitc583a2520616c2736cffc389c89a48b159366e6c (patch)
treeb4925f26506fcee96c16119431c01760f05db95d /gdbserver/linux-i386-ipa.cc
parentca7f92c2f15b86b09c4a8ad14806bef666308d31 (diff)
downloadgdb-users/simark/clang-format.zip
gdb-users/simark/clang-format.tar.gz
gdb-users/simark/clang-format.tar.bz2
Run clang-format.shusers/simark/clang-format
Change-Id: Ia948cc26d534b0dd02702244d52434b1a2093968
Diffstat (limited to 'gdbserver/linux-i386-ipa.cc')
-rw-r--r--gdbserver/linux-i386-ipa.cc155
1 files changed, 70 insertions, 85 deletions
diff --git a/gdbserver/linux-i386-ipa.cc b/gdbserver/linux-i386-ipa.cc
index 21e690e..b441dff 100644
--- a/gdbserver/linux-i386-ipa.cc
+++ b/gdbserver/linux-i386-ipa.cc
@@ -28,23 +28,23 @@
enum i386_gdb_regnum
{
- I386_EAX_REGNUM, /* %eax */
- I386_ECX_REGNUM, /* %ecx */
- I386_EDX_REGNUM, /* %edx */
- I386_EBX_REGNUM, /* %ebx */
- I386_ESP_REGNUM, /* %esp */
- I386_EBP_REGNUM, /* %ebp */
- I386_ESI_REGNUM, /* %esi */
- I386_EDI_REGNUM, /* %edi */
- I386_EIP_REGNUM, /* %eip */
- I386_EFLAGS_REGNUM, /* %eflags */
- I386_CS_REGNUM, /* %cs */
- I386_SS_REGNUM, /* %ss */
- I386_DS_REGNUM, /* %ds */
- I386_ES_REGNUM, /* %es */
- I386_FS_REGNUM, /* %fs */
- I386_GS_REGNUM, /* %gs */
- I386_ST0_REGNUM /* %st(0) */
+ I386_EAX_REGNUM, /* %eax */
+ I386_ECX_REGNUM, /* %ecx */
+ I386_EDX_REGNUM, /* %edx */
+ I386_EBX_REGNUM, /* %ebx */
+ I386_ESP_REGNUM, /* %esp */
+ I386_EBP_REGNUM, /* %ebp */
+ I386_ESI_REGNUM, /* %esi */
+ I386_EDI_REGNUM, /* %edi */
+ I386_EIP_REGNUM, /* %eip */
+ I386_EFLAGS_REGNUM, /* %eflags */
+ I386_CS_REGNUM, /* %cs */
+ I386_SS_REGNUM, /* %ss */
+ I386_DS_REGNUM, /* %ds */
+ I386_ES_REGNUM, /* %es */
+ I386_FS_REGNUM, /* %fs */
+ I386_GS_REGNUM, /* %gs */
+ I386_ST0_REGNUM /* %st(0) */
};
#define i386_num_regs 16
@@ -69,17 +69,15 @@ enum i386_gdb_regnum
/* Mapping between the general-purpose registers in jump tracepoint
format and GDB's register array layout. */
-static const int i386_ft_collect_regmap[] =
-{
- FT_CR_EAX * 4, FT_CR_ECX * 4, FT_CR_EDX * 4, FT_CR_EBX * 4,
- FT_CR_UESP * 4, FT_CR_EBP * 4, FT_CR_ESI * 4, FT_CR_EDI * 4,
- FT_CR_EIP * 4, FT_CR_EFL * 4, FT_CR_CS * 4, FT_CR_SS * 4,
- FT_CR_DS * 4, FT_CR_ES * 4, FT_CR_FS * 4, FT_CR_GS * 4
-};
+static const int i386_ft_collect_regmap[]
+ = { FT_CR_EAX * 4, FT_CR_ECX * 4, FT_CR_EDX * 4, FT_CR_EBX * 4,
+ FT_CR_UESP * 4, FT_CR_EBP * 4, FT_CR_ESI * 4, FT_CR_EDI * 4,
+ FT_CR_EIP * 4, FT_CR_EFL * 4, FT_CR_CS * 4, FT_CR_SS * 4,
+ FT_CR_DS * 4, FT_CR_ES * 4, FT_CR_FS * 4, FT_CR_GS * 4 };
void
supply_fast_tracepoint_registers (struct regcache *regcache,
- const unsigned char *buf)
+ const unsigned char *buf)
{
int i;
@@ -88,9 +86,9 @@ supply_fast_tracepoint_registers (struct regcache *regcache,
int regval;
if (i >= I386_CS_REGNUM && i <= I386_GS_REGNUM)
- regval = *(short *) (((char *) buf) + i386_ft_collect_regmap[i]);
+ regval = *(short *) (((char *) buf) + i386_ft_collect_regmap[i]);
else
- regval = *(int *) (((char *) buf) + i386_ft_collect_regmap[i]);
+ regval = *(int *) (((char *) buf) + i386_ft_collect_regmap[i]);
supply_register (regcache, i, &regval);
}
@@ -120,39 +118,29 @@ get_raw_reg (const unsigned char *raw_regs, int regnum)
contain EIP, but we know what it must have been (the marker
address). */
-#define ST_REGENTRY(REG) \
- { \
- offsetof (struct registers, REG), \
- sizeof (((struct registers *) NULL)->REG) \
+#define ST_REGENTRY(REG) \
+ { \
+ offsetof (struct registers, REG), \
+ sizeof (((struct registers *) NULL)->REG) \
}
static struct
{
int offset;
int size;
-} i386_st_collect_regmap[] =
- {
- ST_REGENTRY(eax),
- ST_REGENTRY(ecx),
- ST_REGENTRY(edx),
- ST_REGENTRY(ebx),
- ST_REGENTRY(esp),
- ST_REGENTRY(ebp),
- ST_REGENTRY(esi),
- ST_REGENTRY(edi),
- { -1, 0 }, /* eip */
- ST_REGENTRY(eflags),
- ST_REGENTRY(cs),
- ST_REGENTRY(ss),
- };
+} i386_st_collect_regmap[] = {
+ ST_REGENTRY (eax), ST_REGENTRY (ecx), ST_REGENTRY (edx),
+ ST_REGENTRY (ebx), ST_REGENTRY (esp), ST_REGENTRY (ebp),
+ ST_REGENTRY (esi), ST_REGENTRY (edi), { -1, 0 }, /* eip */
+ ST_REGENTRY (eflags), ST_REGENTRY (cs), ST_REGENTRY (ss),
+};
#define i386_NUM_ST_COLLECT_GREGS \
(sizeof (i386_st_collect_regmap) / sizeof (i386_st_collect_regmap[0]))
void
supply_static_tracepoint_registers (struct regcache *regcache,
- const unsigned char *buf,
- CORE_ADDR pc)
+ const unsigned char *buf, CORE_ADDR pc)
{
int i;
unsigned int newpc = pc;
@@ -162,32 +150,30 @@ supply_static_tracepoint_registers (struct regcache *regcache,
for (i = 0; i < i386_NUM_ST_COLLECT_GREGS; i++)
if (i386_st_collect_regmap[i].offset != -1)
{
- switch (i386_st_collect_regmap[i].size)
- {
- case 4:
- supply_register (regcache, i,
- ((char *) buf)
- + i386_st_collect_regmap[i].offset);
- break;
- case 2:
- {
- unsigned long reg
- = * (short *) (((char *) buf)
- + i386_st_collect_regmap[i].offset);
- reg &= 0xffff;
- supply_register (regcache, i, &reg);
- }
- break;
- default:
- internal_error ("unhandled register size: %d",
- i386_st_collect_regmap[i].size);
- }
+ switch (i386_st_collect_regmap[i].size)
+ {
+ case 4:
+ supply_register (regcache, i,
+ ((char *) buf)
+ + i386_st_collect_regmap[i].offset);
+ break;
+ case 2:
+ {
+ unsigned long reg = *(
+ short *) (((char *) buf) + i386_st_collect_regmap[i].offset);
+ reg &= 0xffff;
+ supply_register (regcache, i, &reg);
+ }
+ break;
+ default:
+ internal_error ("unhandled register size: %d",
+ i386_st_collect_regmap[i].size);
+ }
}
}
#endif /* HAVE_UST */
-
/* This is only needed because reg-i386-linux-lib.o references it. We
may use it proper at some point. */
const char *gdbserver_xmltarget;
@@ -208,39 +194,38 @@ initialize_fast_tracepoint_trampoline_buffer (void)
FILE *f = fopen ("/proc/sys/vm/mmap_min_addr", "r");
if (!f)
- {
+ {
snprintf (buf, sizeof (buf), "mmap_min_addr open failed: %s",
- safe_strerror (errno));
+ safe_strerror (errno));
set_trampoline_buffer_space (0, 0, buf);
return;
}
if (fgets (buf, IPA_BUFSIZ, f))
sscanf (buf, "%llu", &mmap_min_addr);
-
+
fclose (f);
-
+
buffer_size = buffer_end - mmap_min_addr;
if (buffer_size >= min_buffer_size)
{
if (mmap ((void *) (uintptr_t) mmap_min_addr, buffer_size,
- PROT_READ | PROT_EXEC | PROT_WRITE,
- MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS,
- -1, 0)
- != MAP_FAILED)
- set_trampoline_buffer_space (mmap_min_addr, buffer_end, NULL);
+ PROT_READ | PROT_EXEC | PROT_WRITE,
+ MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)
+ != MAP_FAILED)
+ set_trampoline_buffer_space (mmap_min_addr, buffer_end, NULL);
else
- {
- snprintf (buf, IPA_BUFSIZ, "low-64K-buffer mmap() failed: %s",
- safe_strerror (errno));
- set_trampoline_buffer_space (0, 0, buf);
- }
+ {
+ snprintf (buf, IPA_BUFSIZ, "low-64K-buffer mmap() failed: %s",
+ safe_strerror (errno));
+ set_trampoline_buffer_space (0, 0, buf);
+ }
}
else
{
snprintf (buf, IPA_BUFSIZ, "mmap_min_addr is %d, must be %d or less",
- (int) mmap_min_addr, (int) buffer_end - min_buffer_size);
+ (int) mmap_min_addr, (int) buffer_end - min_buffer_size);
set_trampoline_buffer_space (0, 0, buf);
}
}
@@ -276,7 +261,7 @@ void *
alloc_jump_pad_buffer (size_t size)
{
void *res = mmap (NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
if (res == MAP_FAILED)
return NULL;