diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 444a2ff3c589cdf2fa20d2e451578887286b98ec..4adb2af3a08983322cb6088e8d66485bf35e185c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -5,6 +5,10 @@
 	temp, cond and label.
 	* config/lm32/lm32.md (ashlsi3): Remove unused variable one.
 
+	PR target/52500
+	* config/c6x/c6x.c (dbx_register_map): Change to unsigned.
+	* config/c6x/c6x.h (dbx_register_map): Update declaration.
+
 2013-02-26  Marek Polacek  <polacek@redhat.com>
 
 	PR tree-optimization/56426
diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c
index 28b9d337d96bbc6fc346501ab5dd29acd8b71cf7..e0db8b12a271ef88436af9899373953ca98e6e32 100644
--- a/gcc/config/c6x/c6x.c
+++ b/gcc/config/c6x/c6x.c
@@ -183,7 +183,7 @@ typedef int unit_req_table[2][UNIT_REQ_MAX];
 static unit_req_table unit_reqs;
 
 /* Register map for debugging.  */
-int const dbx_register_map[FIRST_PSEUDO_REGISTER] =
+unsigned const dbx_register_map[FIRST_PSEUDO_REGISTER] =
 {
   0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,	/* A0 - A15.  */
   37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,	/* A16 - A32.  */
diff --git a/gcc/config/c6x/c6x.h b/gcc/config/c6x/c6x.h
index 434db2596cbdb1a74a925e4f045bc237e1bf91fd..ce331cbe3631f31362ec3852815578ab57b01485 100644
--- a/gcc/config/c6x/c6x.h
+++ b/gcc/config/c6x/c6x.h
@@ -521,7 +521,7 @@ struct GTY(()) machine_function
 
 #define DBX_REGISTER_NUMBER(N) (dbx_register_map[(N)])
 
-extern int const dbx_register_map[FIRST_PSEUDO_REGISTER];
+extern unsigned const dbx_register_map[FIRST_PSEUDO_REGISTER];
 
 #define FINAL_PRESCAN_INSN c6x_final_prescan_insn