I know this thread is old, but for future searchers: "a todo dar" basically means "(to go) all out/to be the best, etc." For example, "voy a darle a mi amiga una gran cena a todo dar" means "I am going to go all out in preparing dinner for my friend," or "I am going to give my friend the best dinner ever!" or "I am going to give my friend a lavish dinner." You have to adjust for the context, but "a todo dar" = "all out/the best."
Therefore, like the posts above allude to, "un amigo a todo dar" = "a friend who goes all out/gives his all/gives his best." It means, "a best friend/the most loyal friend of them all," etc.