Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

345
Views
en gdb, ¿podemos establecer una variable como expresión?

En el código C de u-boot, el valor "gd" se declara así. (brazo)

 register volatile gd_t *gd asm ("r9")

y el registro r9 contiene el puntero a la estructura global_data. (typedef'd a gd_t)

Durante la depuración/análisis, para ver gd->malloc_base en el código C, escribir "p gd->malloc_base" no funciona. dice Missing ELF symbol "gd" .
Más tarde aprendí que debería hacer "p ((gd_t *)$r9)->malloc_base" para ver el valor. Estoy escribiendo este tipo de comando muchas veces al día. ¿No hay alguna forma de asignar una variable en gdb que represente ((gd_t *)$r9)? y ¿por qué gdb no reconoce el valor gd en el código?
Lo que quiero hacer es crear una variable que represente ((gd_t *)$r9) para poder usarla como gd->ram_top o gd->env_has_init, etc. según el valor que me interese.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Este es el comentario de @ssbssa a mi pregunta (gracias @ssbssa). Le pedí que pusiera su respuesta pero no lo hace. así que agrego la respuesta yo mismo.
Puede definir una macro como macro define gd ((gd_t *)$r0) y luego puede usar p /x gd->reloc_off o p /x gd->flags . Por supuesto, puede poner este comando de definición de macro en el archivo de comandos e iniciar gdb como este arm-none-eabi-gdb u-boot -x gdb_command .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!