By default, the Cisco DHCP snooping code on the Cisco Catalyst switches inserts option-82 into the DHCP packet but sets giaddr to 0.0.0.0, which causes the Cisco DHCP relay (ip helper) to drop all DHCP packets from a Cisco switch configured with DHCP snooping.
To work around this, you can either disable the insertion of Option-82 on the switch performing the DHCP snooping with:
no ip dhcp snooping information option
Or alternatively you can configure the Cisco device acting as the DHCP relay to trust DHCP packets with giaddr set to 0.0.0.0. This can either be done on all interfaces with the global command
ip dhcp relay information trust-all
Or on a per-interface basis with
ip dhcp relay information trusted
Remember, if you are applying the trust to a specific interface then it has to be the layer 3 interface with the IP helper on it (such as an SVI) and not the layer 2 interface that the DHCP packets are received on.