Preheat the oven to 325 degrees F.
Season the roast well on all sides with 2 teaspoons of the salt and the pepper. On a cutting board combine the remaining salt, minced garlic and rosemary and, using the side of a knife, mash against the board repeatedly to form a paste. Using a small paring knife, make thin slits into the roast on all sides, about 2 inches apart, and fill the holes with the garlic-rosemary paste. Repeat until you have used all of the paste.
Heat a Dutch oven over high heat and add the oil. When the oil is hot, add the roast and cook until very well browned on all sides, 10 to 12 minutes. Add the beef stock and cola and bring to a boil, scraping the bottom of the pan with a wooden spoon to release any browned bits. Add the tomato paste and stir to blend. The liquid should be about 1/2 way up the sides of the roast. Cover the Dutch oven, place in oven, and roast until the meat is fork-tender, about 3 1/2 hours, turning the meat every hour and adding extra water if necessary to keep the liquid level at about 1/3 up the sides of the roast.
When the meat is fork-tender, remove the roast from the oven and carefully transfer the roast to a serving platter. Cover loosely to keep warm.
Skim off as much of the fat from the surface of the cooking liquid as possible. Reserve 2 tablespoons of the fat in a small bowl and add the flour. Stir to make a smooth paste. Add 1/2 cup of the hot cooking liquid to the bowl and whisk to combine. Slowly whisk this mixture into the hot cooking liquid that remains in the Dutch oven and place over high heat on the stovetop. Cook, whisking frequently, until mixture comes to a boil and thickens. Continue to cook for about 5 minutes, or until the sauce is thick enough to coat the back of a spoon and any floury taste is gone. Taste and adjust seasoning, if necessary.
Serve the roast with the hot gravy.
Recipe from Emeril Lagasse