Neither contract has been officially announced, but a source told ESPN's Adam Schefter that Hankins had signed a one-year contract and McDonald's deal was announced by his agents on Twitter.
Hankins, 26, was released by the Indianapolis Colts on March 17. He played just one season for the team after signing a three-year, $27 million deal in April 2017. He had 44 tackles and two sacks while starting all 15 games that he appeared in for the Colts.
Hankins had signed with the Colts after creating one of the strongest interior lines with the New York Giants during the 2016 season, when he finished with 43 tackles, three sacks, eight tackles for loss and 10 quarterback hits.
Hankins was a second-round pick by the Giants in the 2013 NFL draft. He has been a four-year starter, appearing in 67 games and recording 184 tackles along with 12 sacks and three forced fumbles.
McDonald, 31, was released by the Denver Broncos when they trimmed their roster to the initial 53-man limit. He had signed a two-year contract with the team in free agency after spending the previous four seasons with the Tampa Bay Buccaneers.
Last season with the Buccaneers, he had 29 tackles and five sacks in 14 games (three starts). He has 19 sacks in eight seasons with the Cincinnati Bengals, Seattle Seahawks and Tampa Bay. The Bengals selected him in the seventh round of the 2009 draft.
ESPN's Mike Wells contributed to this report.